java.security.accessControlException: доступом запрещен (java.lang.runtimeppermission предпочтения)
-
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
.
Агент использует два внешних библиотеках JAR-библиотеки от Bloomberg.Эти два импортируются в агент, а также размещены в каталоге Domino / JVM / LIB на сервере.
Исключение брошено при вызове конструктора класса одного из классов в импортированной библиотеке.
Агент работает нормально при запуске его вручную в клиенте дизайнера.
Я думаю, что я должен редактировать файлы java.pol *, но мой опыт здесь я довольно ограничен, боюсь ...
Пожалуйста, совет
/ mike
Решение 2
Теперь я понял это. Файл java.pol вообще не используется, несмотря на состояние файла java.security, он должен быть включен.
Чтобы сделать эту работу, вам нужно вместо этого необходимо изменить файл java.policy. Это, что я мог бы сказать, не является предпочтительным решением, поскольку файл .pol должен быть оставлен для добавленных пользователей Grants и файл .policy - это файл Domino Domino JVM.
Другие советы
Вы отсутствуете на предпочтениях runtimeppermisse:
java.security.accessControlException: Доступ запрещен (Java.lang.runtimeppermission
Предпочтения ) Минимум, который вам нужно сделать, это add add runtimeppermission в ваш файл политики:
.grant { permission java.lang.RuntimePermission "preferences"; };
Как только вы пройдете это исключение, вы, вероятно, получите больше, но это лучше, чем позволяя всем разрешениям.