Domino 9 und frühere Versionen > ND9: Entwicklung
Java Agent und Logging mit SLF4J
(1/1)
eknori (retired):
I schlage mich gerade mit einem Java Agenten rum, der eine 3rd-party library verwendet. Diese lib verwendet slf4j zum loggen
--- Code: ---private static final Logger LOG = LoggerFactory.getLogger(AccountBuilder.class);
--- Ende Code ---
Soweit nicht ungewöhnliches. In einem DOTS task funktioniert der exakt gleiche Code problemlos. Aber in einem Java Agenten erhalte ich folgende Fehlermeldung
--- Code: ---[119C:002F-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: Caused by:
[b][119C:0030-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: java.security.AccessControlException: Access denied ("java.lang.RuntimePermission" "getClassLoader")[/b]
[119C:0032-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at java.security.AccessController.throwACE(AccessController.java:176)
[119C:0034-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at java.security.AccessController.checkPermissionHelper(AccessController.java:236)
[119C:0036-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at java.security.AccessController.checkPermission(AccessController.java:371)
[119C:0038-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at java.lang.SecurityManager.checkPermission(SecurityManager.java:562)
[119C:003A-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at lotus.notes.AgentSecurityManager.checkPermission(Unknown Source)
[119C:003C-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:784)
[119C:003E-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at org.apache.logging.log4j.util.LoaderUtil.findUrlResources(LoaderUtil.java:192)
[119C:0040-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at org.apache.logging.log4j.util.LoaderUtil.findResources(LoaderUtil.java:183)
[119C:0042-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at org.apache.logging.log4j.util.PropertiesUtil.<init>(PropertiesUtil.java:90)
[119C:0044-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: at org.apache.logging.log4j.util.PropertiesUtil.<clinit>(PropertiesUtil.java:36)
[119C:0046-2C58] 02/08/2018 07:10:00 AM Agent Manager: Agent error: ... 15 more
--- Ende Code ---
Fällt also beim Laden der Logger Klasse mangels Berechtigung auf die Nase.
Der Agent läuft mit Option 3 ( restricted with full admin access )
Ich habe in die java.security testweise einmal
--- Code: ---grant {
permission java.security.AllPermission;
};
--- Ende Code ---
eingetragen; also die große Keule.
Server wurde neu gestartet. Trotzdem funktioniert es nicht.
Hat einen solchen "ungewöhnlichen" Stunt schon einmal jemand erfolgreich absolviert? Ich meine, Logging ist ja etwas vollkommen neues.
Ach ja, ich verwende FP10 ( ja, ja, ich weiß ... )
Auf StackOverflow gibt es sowas ähnliches https://stackoverflow.com/questions/39075349/lotus-notes-not-allowed-to-access-system-properties-file
Auch das verhält sich bei mir so, wie dort beschrieben. Ich will nicht hoffen, daß es da eine generelle Einschränkung für Java Agenten gibt. Nicht mehr 2018 ...
ERR:
Hallo eknori,
ich bin nicht sicher ob das folgende hilft, aber einen Versuch ist es doch bestimmt wert:
--- Code: ---grant {
permission java.lang.RuntimePermission "getClassLoader";
};
--- Ende Code ---
Bei uns ist so etwas ähnliches auf diesem Weg gelöst worden.
MFG
ERR
eknori (retired):
Danke, hatte ich schon probiert. Ohne Erfolg
Interessant ist, daß es funktioniert, wenn der Aufruf direkt im Agenten erfolgt. In meinem wird der logger aber in einer als Archive eingebundenen .jar instantiiert. Und das mag der Agent nicht. In DOTS ist das kein problem.
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln