3

サーバーのコンソールから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

エージェントは、Bloombergの2つの外部jarライブラリを使用します。これら2つはエージェントにインポートされ、サーバーのdomino / jvm/libディレクトリーにも配置されます。

インポートされたライブラリ内のクラスの1つのクラスコンストラクタを呼び出すと、例外がスローされます。

Designerクライアントでエージェントを手動で実行すると、エージェントは正常に実行されます。

java.pol *ファイルを編集する必要があると思いますが、ここでの私の経験は非常に限られており、恐れています…</ p>

ご意見をお聞かせください

/マイク

4

3 に答える 3

2

私は今これを理解しました。java.securityファイルに含める必要があると記載されているにもかかわらず、java.polファイルはまったく使用されていません。

これを機能させるには、代わりにjava.policyファイルを変更する必要があります。.polファイルはユーザーが追加した許可のために残しておく必要があり、.policyファイルはデフォルトのDomino JVMファイルであるため、これは推奨される解決策ではないと言えます。

于 2012-02-28T08:46:00.767 に答える
2

設定RuntimePermissionがありません:

java.security.AccessControlException:アクセスが拒否されました(java.lang.RuntimePermissionの設定

最低限必要なことは、RuntimePermissionをポリシーファイルに追加することです。

grant {
    permission java.lang.RuntimePermission "preferences";
};

この例外を乗り越えると、おそらくもっと多くのことが得られますが、すべてのアクセス許可を許可するよりはましです。

于 2012-02-27T19:28:36.913 に答える
0

java.policyに保存されているドキュメントを開き、 [JAVA]\jvm\lib\security 「grant」セクション内に次のステートメントを追加します。

permission java.lang.RuntimePermission "modifyThread";
permission java.lang.RuntimePermission "getenv.*";
于 2020-06-11T16:16:35.643 に答える