PDA

View Full Version : JVM kann nicht erstellt werden



KM
21-07-06, 08:39
Hallo,

ich habe mir ein CL-Programm erstellt, in dem mehrere Java-Programme der Reihe nach aufgerufen werden sollen, um Daten nachts im Batch aufzubereiten. Ich habe die Aufrufe mit QP2SHELL und QP2SHELL2 probiert. Teilweise benutze ich unterschieldiche CLASSPATHs, manchmal auch gleiche. Den CLASSPATH selbst gebe ich jeweils bei Java-Aufruf mit. Er wird also nicht über die Umgebungsvariable gesteuert. Mein Problem ist nun, dass das erste Java-Programm normal durchläuft und beim zweiten dann folgender Fehler erscheint:

Java Virtual Machine kann nicht erstellt werden.

Kann man denn nicht mehrere Java-Programme hintereinander laufen lassen? Wird da jedesmal (sogar innerhalb eines Jobs) eine neue JVM erstellt? Eine bestehende JVM eines Jobs kann man ja ab V5R3 nicht mehr beenden. Muß ich dann alle Aufrufe auf SBMJOB umstellen oder wie kann ich das Problem lösen?

Gruß,
KM

KM
21-07-06, 12:13
Ich habe den Java-Aufruf jetzt vom PASE-Aufruf QP2SHELL auf QSH umgestellt. Und damit funktioniert's jetzt. Durch den Aufruf via QSH läuft die JVM für jeden Aufruf in einem separaten Job, der nach jedem Aufruf beendet wird und danach wieder ein neuer Job erstellt wird. Somit kann es nicht den Versuch geben 2 JVMs in einem Job zu starten. Der Nachteil bei QSH ist halt, dass immer 3 Jobs aktiv sind (QZSHSH und noch ein anderer). Beim PASE-Aufruf ist das halt nicht der Fall. Beim PASE-Aufruf läuft nur ein Job und wenn dann damit ein zweites Java-Programm gestartet werden soll, wird wieder versucht eine JVM zu starten. Und das funktioniert natürlich innerhalb eines Jobs nicht.

Falls doch jemandem bekannt ist wie ich mehrere Java-Aufrufe auch mit QP2SHELL machen kann, wäre ich dankbar über eine Antwort.

Gruß,
KM