我正在尝试从服务器的控制台运行一个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
.

代理使用来自彭博的两个外部jar-libraries。这两者被导入代理并放置在服务器上的Domino / JVM / lib目录中。

在调用导入的库中的一个类的Class构造函数时抛出异常。

在设计器客户端手动运行时,代理运行正常。

我想我必须编辑java.pol *文件,但我的体验我很有限,我害怕...

请建议

/ mike

有帮助吗?

解决方案 2

我现在已经弄清楚了这一点。 尽管Java.Security文件状态,它应该没有使用java.pol文件。

要使这项工作需要更改java.policy文件。 这我可能会说不是首选解决方案,因为你应该留给用户添加的授权和.policy文件是默认的Domino JVM文件。

其他提示

您缺少首选项 runtimepermise:

java.security.accessControlException:访问被拒绝(java.lang.runtimepermission 首选项

需要做的最小值是 add 对策略文件的runtimepermisment:

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

一旦你越过这个例外,你可能会得到更多,但它比允许所有权限更好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top