Hallo Leute!
Ich hab hier ne Software, die ist in ca 10 Jar Dateien aufgeteilt (eines Fremdherstellers).
Diese 10 Schritte muß ich hintereinander ein paar tausendmal aufrufen (mittels java -jar ...jar)
Um die Exitcodes auszuwerten und den Ablauf zu steuern, läuft im Augenblick ein Shellskript, welches die java Programme aufruft. Dadurch wird das ganze natürlich langsam. Denn Java muß jedesmal aufgerufen werden usw.
Wißt ihr eine Möglichkeit, die jar Programme in einem Javaprogramm zusammenzufassen die Main Methode ist ja bekannt. Der Vorschlag "Runtime.exec" steht nicht zur Debatte, weil das Programm dann genauso langsam ist, wie mit einem Shellskript.
Die Problematik ist an dieser Stelle, daß das Hauptprogramm auf "System.exit" der aufzurufenden Programme nicht reagiert, sondern diesen nur als Returncode wertet.
Beispiel:
Hoffe Ihr habt eine Idee
Craven
Ich hab hier ne Software, die ist in ca 10 Jar Dateien aufgeteilt (eines Fremdherstellers).
Diese 10 Schritte muß ich hintereinander ein paar tausendmal aufrufen (mittels java -jar ...jar)
Um die Exitcodes auszuwerten und den Ablauf zu steuern, läuft im Augenblick ein Shellskript, welches die java Programme aufruft. Dadurch wird das ganze natürlich langsam. Denn Java muß jedesmal aufgerufen werden usw.
Wißt ihr eine Möglichkeit, die jar Programme in einem Javaprogramm zusammenzufassen die Main Methode ist ja bekannt. Der Vorschlag "Runtime.exec" steht nicht zur Debatte, weil das Programm dann genauso langsam ist, wie mit einem Shellskript.
Die Problematik ist an dieser Stelle, daß das Hauptprogramm auf "System.exit" der aufzurufenden Programme nicht reagiert, sondern diesen nur als Returncode wertet.
Beispiel:
Code:
public class Workpgr {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Heute ist ein schöner Tag");
System.exit(1);
}
}
Code:
public class Steuerpgr {
/**
* @param args
*/
public static void main(String[] args) {
new MainTest().main(args);
// Irgendwie auf den Exitcode des Programms eingehen und bei exit(1) das Steuerpgr nicht beenden.
new MainTest().main(args);
...
System.exit(0);
}
}
Hoffe Ihr habt eine Idee
Craven