Question

J'essaie d'exécuter un agent Java à partir de la console du serveur et j'obtiens cette exception:

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'agent utilise deux bibliothèques de bocaux externes de Bloomberg. Ces deux sont importées dans l'agent et également placées dans le répertoire Domino / JVM / LIB sur le serveur.

L'exception est lancée lors de l'appel du constructeur de classe de l'une des classes de la bibliothèque importée.

L'agent s'exécute bien lors de l'exécution manuellement dans le client designer.

Je pense que je dois éditer des fichiers java.pol * mais mon expérience ici je suis assez limité, j'ai peur…

Veuillez conseiller

/Mike

Était-ce utile?

La solution 2

J'ai maintenant compris cela. Le fichier java.pol n'est pas du tout utilisé, malgré le fichier java.security indique qu'il doit être inclus.

Pour faire ce travail, vous devez plutôt modifier le fichier java.policy. Je pourrais dire que ce n'est pas la solution préférée, car le fichier .pol doit être laissé pour les subventions ajoutées par l'utilisateur et le fichier .policy est le fichier Domino JVM par défaut.

Autres conseils

Vous manquez le préférences RuntimePermimission:

Java.Security.AccessControlexception: Accès refusé (java.lang.runtimePermiser préférences)

Le minimum que vous devez faire est ajouter Une exécution RuntimePerm à votre fichier de stratégie:

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

Une fois que vous avez dépassé cette exception, vous en obtiendrez probablement plus, mais c'est mieux que d'autoriser toutes les autorisations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top