java.security.AccessControlException:アクセス拒否(java.lang.RuntimePermission設定)
-
13-11-2019 - |
質問
サーバーのコンソールからJavaエージェントを実行しようとしています。
Agent Manager: Agent printing: WARN AppLogger.java:246 initialize() Could not find a log4j.properties resource! Defaulting to app.log output.
Agent Manager: Agent error: Exception in thread "AgentThread: FTPBB"
Agent Manager: Agent error: java.lang.ExceptionInInitializerError
Agent Manager: Agent error: at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
Agent Manager: Agent error: at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
Agent Manager: Agent error: at com.bloomberg.datalic.api.ExtendedFTPConnection.<clinit>(ExtendedFTPConnection.java:2780)
Agent Manager: Agent error: at java.lang.J9VMInternals.initializeImpl(Native Method)
Agent Manager: Agent error: at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
Agent Manager: Agent error: at FTP.<init>(FTP.java:93)
Agent Manager: Agent error: at FTPBB.NotesMain(FTPBB.java:110)
Agent Manager: Agent error: at lotus.domino.AgentBase.runNotes(Unknown Source)
Agent Manager: Agent error: at lotus.domino.NotesThread.run(Unknown Source)
Agent Manager: Agent error: Caused by:
Agent Manager: Agent error: java.security.AccessControlException: Access denied (java.lang.RuntimePermission preferences)
Agent Manager: Agent error: at java.security.AccessController.checkPermission(AccessController.java:108)
Agent Manager: Agent error: at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
Agent Manager: Agent error: at java.util.prefs.Preferences.userRoot(Preferences.java:443)
Agent Manager: Agent error: at com.bloomberg.datalic.util.DLPreferencesTree.<init>(DLPreferencesTree.java:29)
Agent Manager: Agent error: at com.bloomberg.datalic.util.DLPreferencesTree.getInstance(DLPreferencesTree.java:44)
Agent Manager: Agent error: at com.bloomberg.datalic.util.DLPreferenceNode.<clinit>(DLPreferenceNode.java:19)
Agent Manager: Agent error: at java.lang.J9VMInternals.initializeImpl(Native Method)
Agent Manager: Agent error: at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
Agent Manager: Agent error: ... 8 more
.
エージェントはブルームバーグから2つの外部JARライブラリを使用します。これら2つはエージェントにインポートされ、サーバー上のDomino / jvm / libディレクトリに配置されます。
インポートされたライブラリ内のいずれかのクラスのクラスコンストラクターを呼び出すときにスローされます。
Designerクライアントで手動で実行している場合は、エージェントが正常に実行されます。
java.pol *ファイルを編集する必要があると思いますが、ここでの経験私はかなり限られている、私は怖いです...
アドバイス
/マイク
解決 2
今これを考え出しました。 java.polファイルはまったく使用されていません。java.securityファイルの状態にもかかわらず、含まれるべきです。
この作業を行うには、代わりにjava.policyファイルを変更する必要があります。 これは、.polファイルがユーザー追加された許可証のために残されるべきですので、polファイルはデフォルトのDomino JVMファイルです。
他のヒント
環境設定 runtimepermission:
java.security.AccessControlException:アクセス拒否(java.lang.RuntimePermission 環境設定)
最低限のことは、ポリシーファイルへのRuntimePermission:
.grant { permission java.lang.RuntimePermission "preferences"; };
この例外を過ぎたら、おそらくもっともっと届くが、それはすべての権限を許可するよりも優れています。