-
Ich sagte ja, dein RST-Befehl wird in einem eigenen Job durchgeführt!
Irgendwie musst du an diesen Job kommen und dessen Joblog auslesen.
Da ein Joblog genauso wie eine MSGQ aufgebaut ist, gibts da auch einen Key, ab dem man weiterlesen kann.
-
Die Javaklassen geben eigentlich alles was du brauchst:
CommandCall
CommandCall()
-
also sollte ich mit
command.run("DSPJOBLOG JOB("+ jobNummer + "/" + userID + "/" + jobName + ")");
command.getMessageList()
Alles auslesen können?
edit: ich glaube es liegt auch noch daran das ich meinen Restore primitiv über ein FTP command im Java ausführe. Das werde ich erstmal überarbeiten mit den passenden Methoden meines SaveFile Objektes... Dann solle es auch funktionieren..
-
Das ist soweit korrekt.
Allerdings läuft command.run nicht asynchron, so dass getMessageList erst nach Ende des Kommandos ein Ergebnis bringt.
Ggf. musst du eben vorher per getServerJob den Job ermitteln um dann auf das Joblog dieses Job's zuzugreifen.
Auch liefert getMessageList nicht alle Nachrichten. Du musst da vorher die Anzahl festlegen.
Da du aber asynchron die Nachrichten auslesen willst, musst du in einem anderen Thread auf dein Command-Objekt zugreifen.
Ob das threadsicher ist, musst du probieren.
-
k, klappt!
Vielen Dank für die Hilfe
-
hmm ok, der asynchrone Zugriff klappt doch nicht ganz so wie gewünscht...
Ich greife mit Hilfe eines anderen Threads auf das CommandCall Objekt zu und greife mir ein Job Object mit der Methode command.getServerJob();
Mit dem Job Object kann ich mir die Messages aus dem JobLog ziehen..
Jedoch spuckt er die Ergebnisse erst am Ende aus wenn der RST schon fertig ist...
Code:
// Thread A
command = new CommandCall(MyAS400);
com_Finish = command.run("RSTLIB SAVLIB(" + orginalLibName + ") DEV(*SAVF) SAVF(" + LibName + "/" + SaveFileName + ") MBROPT(*ALL)");
// Thread B
do {
Thread.sleep(2000);
Job myJob = command.getServerJob();
myJob.loadInformation();
System.out.println(myJob.getJobLog().getNumber());
JobLog myJobLog = new JobLog(MyAS400, myJob.getName(), myJob.getUser(), myJob.getNumber());
myJobLog.load();
Enumeration x = myJobLog.getMessages();
System.out.println("Job Status is.."+ myJob.getStatus());
while (x.hasMoreElements()) {
System.out.println(x.nextElement());
}
} while (com_Finish == false);
-
Anscheinend ist das Joblog erst nach Jobende verfügbar.
Ggf. gibt es noch andere Methoden, auf das Joblog eines aktiven Job's zuzugreifen.
Schau doch mal während der Ausführung nach, ob du den Job per WRKACTJOB/WRKUSRJOB findest und ob das Joblog da fortgeschrieben wird.
-
Das mache ich doch eben schon!
Thread B läuft in einer Schleife , solange der Restore nicht fertig ist!
Daher sollte der neueste JobLog Alle 2 Sec neu ausgegeben werden, jedoch tut er dies nicht, warum weiss ich nicht.
Es wird erst das Komplette JobLog ausgegeben wenn der Restore fertig ist, ich glaube die Threads blockieren sich irgendwie...
-
Vielleicht kannst du dein Java auch mal auf dem PC laufen lassen.
Mit Eclipse z.B. ist es auch besser zu debuggen.
Die Toolbox funktioniert auch auf dem PC.
-
Das Programm ist auf dem PC geschrieben :P , und zwar in Swing
-
Ja schön, dann müsstest du doch per Debug feststellen können, bei welchem Zugriff dein Thread parkt.
Similar Threads
-
By TARASIK in forum IBM i Hauptforum
Antworten: 21
Letzter Beitrag: 30-03-11, 13:48
-
By Muchi in forum NEWSboard Java
Antworten: 2
Letzter Beitrag: 07-11-06, 11:00
-
By woki in forum NEWSboard Java
Antworten: 3
Letzter Beitrag: 06-06-06, 15:57
-
By sim in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 18-05-06, 08:00
-
By Heinz Molter in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 31-08-04, 09:48
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks