Das Notes Forum
Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: oliK am 22.11.18 - 08:22:47
-
Hallo,
ich spiele aktuell ein wenig mit der Sametime Java-API herum und möchte einen Java-Agenten erstellen,
der über einen technischen Benutzer Nachrichten an Benutzer per Sametime sendet.
Ich habe dazu schon einiges zum Stichwort "Sametime Bot" im Internet gefunden.
Die Code-Beispiele sind recht veraltet, funktionieren aber in einer externen JAVA-Anwendung mit JRE 1.6.
Wenn ich versuche, das in einen Domino Java-Agenten zu überführen bekomme ich ab dem communityservice.LoginByPassword-Befehl diverse Fehlerzeilen und es wird leider keine Verbindung zum Sametime-Server hergestellt.
Ich vermute, dass es an der der im Domino implementierten JRE 1.8 liegt und die SDK vermutlich auf 1.6 aufbaut.
Genaueres konnte ich dazu aber nicht finden.
Die dazugehörige STComm.jar habe ich auf dem Domino unter jvm\lib\ext hinterlegt.
Als diese nicht dort abgelegt war, konnten keinerlei Klassen gefunden werden, also muss dies schon der richtige Schritt sein.
Hat jemand Sametime-Funktionen in Domino-Agenten unter der aktuellen JRE schon hinbekommen?
Gibt es Workarounds, einen einzelnen Agenten mit älterer JRE laufen zu lassen?
Anbei der Fehler:
22.11.2018 08:13:07 Agent error: Nov 22, 2018 8:13:06 AM com.lotus.sametime.core.comparch.MessageDispatcher run
WARNUNG: Exception on MessageDispatcher:
java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.ensureError(J9VMInternals.java:146)
at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:135)
at com.lotus.sametime.community.kernel.VpKernel.getLocalAddress(Unknown Source)
at com.lotus.sametime.community.kernel.VpKernel.startLogin(Unknown Source)
at com.lotus.sametime.throwable.ThrowableReporter caughtThrowable
WARNUNG: Notifying listeners about caught throwable: java.lang.ExceptionInInitializerError
-
Hast Du schon die Sicherheit des Agenten angepasst?
Java-Libs können auch direkt im Agenten als Archiv-Ressource hinzugefügt werden.
-
Die Sicherheit steht auf Stufe 2 von 3. Auf Stufe 1 wurde die Verarbeitung schon vorher abgebrochen, da JAVA irgendwelche Schreibvorgänge nicht durchführen konnte. Auf Stufe 3 gab es leider keinen Unterschied zu 2.
Macht es einen Unterschied die LIB an den Agenten zu hängen?
Ich mache es schon länger über das ext-Verzeichnis, da die Agenten bei größeren direkt angehängten LIBS streiken.
-
ext-Verzeichnis geht natürlich auch ;)
Du schreibst das ab dem communityservice.LoginByPassword ein Fehler auftritt, im Fehler-Trace sehe ich aber diesen Befehl nicht. Zeig mal den Demo-Code, oder ist das der Sametime Translator Bot von OpenNTF?
https://github.com/ebasso/ibm-sametime-bots
In deiner externen Entwicklungsumgebung, wo ja der Code läuft, verwendest du da schon die Notes/Domino JVM?
-
Hi,
anbei die 2 jar-Dateien im Notes-Agent.
Der Agent wird per RunOnServer aufgerufen.