HCL Notes / Domino / Diverses > Entwicklung
Domino 11.0.1: Externe JAR einbinden und verwenden (Linux)
Tode:
Ich habe unter 9.0.1 eine "Datenpumpe" geschrieben, die mittels JDBC Daten aus / in relationale Datenbanken pumpt, quasi "IEI für Arme".
Damit das auf dem Server sauber funktioniert, habe ich den JDBC- Treiber unter /opt/hcl/domino/notes/latest/linux/jvm/lib/ext
abgelegt. In der Java Scriptlibrary lade ich dann die Class:
--- Code: ---Class.forName(m_strjClassName);
// Connect to the database
if (m_strjUserName != "") {
m_lcConProp.put("user", m_strjUserName);
m_lcConProp.put("password", m_strjPassword);
}
m_lcCon = DriverManager.getConnection(m_strjUrl,m_lcConProp);
--- Ende Code ---
Das hat unter 9.0.1 wunderbar funktioniert (ohne Anpassung java.policy / java.pol), aber seit dem Update auf 11.0.1 lädt er die Klasse nicht mehr.
--- Zitat ---24.02.2021 06:00:08 AMgr: Agent ('java.JDBC_Periodical' in 'apps/DataPump.nsf') error message: Exception in thread "AgentThread: JavaAgent"
24.02.2021 06:00:08 AMgr: Agent ('java.JDBC_Periodical' in 'apps/DataPump.nsf') error message: java.lang.NoClassDefFoundError: com.mysql.cj.jdbc.Driver (initialization failure)
--- Ende Zitat ---
Ich verwende den aktuellsten mySQL- Treiber, der explizit für Java 8 ist (mit Domino 11 wurde ja auf openjvm 1.8 umgestellt). Die Linux- Berechtigungen auf "mysql-connector-java-8.0.23.jar" sind identisch zu denen der anderen jars aus dem Verzeichnis.
Ich meinte irgendwo was gelesen zu haben, dass externe jars in Agenten Probleme machen seit Domino 10 oder 11, kann aber ums Verrecken den/die Artikel nicht mehr finden.
Irgendwelche Tipps für mich?
jBubbleBoy:
Bei einem Domino 11.0.1FP2 und für Oracle ist das genau so im Einsatz.
Der Oracle-Treiber als Archiv im Agenten gingt nicht, das erzeugte Java-Fehlermeldungen, sollte man in diesen Fall aber ausprobieren. Und es gibt noch die Möglichkeit über die notes.ini und JavaUserClasses Java-Archive bekannt zu machen.
maxritti:
--- Zitat von: Tode am 05.03.21 - 09:16:22 ---Ich meinte irgendwo was gelesen zu haben, dass externe jars in Agenten Probleme machen seit Domino 10 oder 11, kann aber ums Verrecken den/die Artikel nicht mehr finden.
--- Ende Zitat ---
Hilft Dir nicht wirklich, aber zumindest unter Domino 10 habe ich solch ein Konstrukt zu einem MS SQL Server laufen.
Die jar Datei einfach in das von dir angegeben Verzeichnis und gut ist. :-:
Ralf_B:
Ich habe die selbe Erfahrung wie Erik,
die Libs im Agenten machen Probleme. Im lib/ext Ordner geht es.
Ich nutze SAP JCO/und andere ... und musste auf Win/AIX die Java Security anpassen, weil die Lib's sonst nicht geladen wurden.
Allerdings nur Domino 9/10 und nicht 11.
eknori (retired):
Ist das überhaupt die richtige Basisklasse? Ich verwende die ...20 in einem OSGi plugin. In V ..22 funktioniert das auch noch. V ..23 habe ich noch nicht reingeschaut. Grundsätzlich verwende ich den gleichen Aufruf, wie Du.
Werden andere .jardenn aus dem Verzeichnis ohne Fehler geladen?
Was die libs in Agenten angeht, dazugibt es einen SPR von mir. Die libs werden bei jedem Aufruf neu geladen und führen irgendwann zu einem Speicherüberlauf.
Das soll gefixt werden, ist aber ein größeres Rad, an dem gedreht werden muss.
Ob ich das in meinem Leben noch erlebe, wage ich zu bezweifeln.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln