java.security.accessControLexception: accesso negato (Java.lang.RuntimeperMission Preferences)
-
13-11-2019 - |
Domanda
Sto cercando di eseguire un agente Java dalla console del server e ottengo questa eccezione:
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
.
L'agente utilizza due jar-librerie esterne da Bloomberg.Questi due sono importati nell'agente e inserito anche nella directory Domino / JVM / LIF sul server.
L'eccezione viene lanciata quando si chiama il costruttore di classe di una delle classi nella libreria importata.
L'agente funziona bene quando si esegue manualmente nel client Designer.
Penso di poter modificare i file Java.pol * ma la mia esperienza qui ho abbastanza limitato, temo ...
Si prega di consigli
/ mike
Soluzione 2
Ora ho capito questo. Il file Java.pol non è affatto utilizzato, nonostante il file Java.Security, dovrebbe essere incluso.
Per rendere questo lavoro è necessario modificare invece il file java.policy. Questo che potrei dire non è la soluzione preferita dal momento che il file .pol deve essere lasciato per le sovvenzioni aggiunte dall'utente e il file .policy è il file JVM Domino predefinito.
Altri suggerimenti
Ti mancano le preferenze runtimepermission:
.java.security.accessControloxception: accesso negato (Java.lang.RuntimePerMission Preferenze )
Il minimo che devi fare è aggiungi una corsa runtime per il tuo file di politica:
.grant { permission java.lang.RuntimePermission "preferences"; };
Una volta superata questa eccezione, probabilmente sarai di più, ma è meglio che permettere tutte le autorizzazioni.