PDA

View Full Version : JDBC:AS400 - Zugriff auf DB dauert SEHR lange



David1608
07-09-18, 09:19
Hallo zusammen,

wir führen derzeit einige Tests durch um Java Anwendungen auf der iSeries laufen zu lassen.

Dazu haben wir kleine Testprogramme geschrieben. Wir schaffen es auch die Programme auf die iSeries zu verschieben und mit dem Befehl RUNJVA auszuführen. Es gibt nur ein kleines Problem. Wenn wir das Programm lokal aus dem RDi ausführen funktioniert alles super. Führen wir das gleiche Programm aus der iSeries aus, dauert der Zugriff auf die Datenbank unheimlich lange. Der Zugriff aus der Entwicklungsumgebung dauert nicht mal 1 Sekunde, während wir beim Ausführen von der iSeries über 20 Sekunden warten, bis angefangen wird die Daten zu lesen.

Der Zugriff sieht wie folgt aus:


con = DriverManager.getConnection("jdbc:as400:" + system + ";database name=" + system + "", user, password);


Wie kann das passieren? Und noch viel wichtiger, wie kann ich das beheben?

Fuerchau
07-09-18, 11:33
Um dies genauer zu analysieren muss das Verfahren mal genauer untersucht werden.
Du musst die Zeit vor und nach dem Connect bzw. jeweiligen SQL messen.
Das Starten eine JVM darfst du da nicht hinzuzählen, denn dies ist mitunter der aufwändigste Teil.
Hier bieten sich dann eher vorgestartet JVM's an, die man z.B. per DTAQ mit Aufrufen versorgt, die dann ein Java-Scheduler (also eigengestrickt) per Thread zur Ausführung bringt.
Beispiele findest du bei bender-dv.de.