Java.Security.AccessControlException: Acceso denegado (Java.Lang.RuntimePermission Preferencias)

StackOverflow https://stackoverflow.com/questions/9465728

Pregunta

Estoy tratando de ejecutar un agente de Java desde la consola del servidor y obtengo esta excepción:

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

El agente utiliza dos bibliotecas de jars externas de Bloomberg.Estos dos se importan en el agente y también se colocan en el directorio DOMINO / JVM / LIB en el servidor.

Se lanza la excepción al llamar al constructor de clase de una de las clases de la biblioteca importada.

El agente se ejecuta bien al ejecutarlo manualmente en el cliente del diseñador.

Creo que debo editar archivos java.pol * pero mi experiencia aquí estoy bastante limitada, me temo ...

Por favor, consejos

/ mike

¿Fue útil?

Solución 2

Ahora he descubierto esto. El archivo Java.pol no se usa en absoluto, a pesar de los estados de archivo Java.Security, debe incluirse.

Para hacer este trabajo, debe cambiar el archivo Java.Policy en su lugar. Esto podría decir que no es la solución preferida, ya que el archivo .pol debe dejarse para las subvenciones agregadas por el usuario y el archivo .policy es el archivo Domino JVM predeterminado.

Otros consejos

Te estás perdiendo las preferencias RuncimePermission:

java.security.accesscontrolexception: Acceso denegado (java.lang.runtimePermissising preferencias )

El mínimo que necesita hacer es Agregar a RUNTIMEPETRITIONIGO A SU ARCHIVO DE POLÍTICA:

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

Una vez que supera esta excepción, probablemente obtendrá más, pero es mejor que permitir todos los permisos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top