-
... das sieht die JDK Doku der AS/400 anders (würde auch dem Java Standard widersprechen und die Kaffeetasse kosten), ob die RPG Programme damit noch zurechtgebogen werden können, weiß ich nicht sicher, ich sehe aber keinen Grund warumdas nicht mehr gehen sollte.
D*B
 Zitat von KM
In früheren Releases funktionierte das mal. In neueren (ich glaube seit V5R4) kann man die JVM nicht mehr manuell per JNI beenden. Nur bei Jobende wird auch die JVM beendet.
Gruß,
KM
-
Na toll.
Das das ein Designfehler ist denke ich auch.
solange ich das nicht ändern darf ... (den RPG Job im Bach über eine dataq füttern)
Du hast nicht zufällig ein Beispiel auf deiner Seite für das
ordentliche beenden der Jvm ?
Gruß
Robi
-
... das macht man dann gleich im Java und wird damit das grauseliche embedded Java im RPG los.
Als Beispiel (mgBdA) ungeprüft:
midrange.com -- JAVA400-L -- Re: Calling java from RPG - how to increase performance
D*B,
der von all diesem Quatsch ("Q" "A" "T" "S" "C" "H") abrät!!!!!
 Zitat von Robi
Na toll.
Das das ein Designfehler ist denke ich auch.
solange ich das nicht ändern darf ... (den RPG Job im Bach über eine dataq füttern)
Du hast nicht zufällig ein Beispiel auf deiner Seite für das
ordentliche beenden der Jvm ?
Gruß
Robi
-
Dann schau mal hier nach.
RPG-Java Integration: Stopping the JVM - System iNetwork Forums
Ein sauberes Beenden der JVM ist also innerhalb eines Jobs nicht möglich. Ich hatte das mal nach einem Releasewechsel gemerkt, als der destroyJVM auf einmal nicht mehr funktionierte.
Gruß,
KM
-
... in diesem Fred geht es um ein weiter existierendes RPG Programm und das beenden und starten einer JVM.
Ich gehe davon aus, dass wir hier das umgekehrte Problem haben: ein RPG Programm wird entladen mit RCLACTGRP und kriegt die Verbindung zur JVM nicht mehr, oder will sie neu starten, was ihr nicht gelingt ohne sie zu beenden.
D*B,
der nochmal definitiv davon abrät diesen Java in RPG Krampf zu verwenden - selbst mit obigen Workarounds (wenn sie denn funzen), stolpert man nur von einem Loch ins nächste. Man denke nur an mehrere RPG Programme mit Java Aufrufen in unterschiedlichen Activationgroups mit RCLACTGRP...
und das Verhalten des JNI Krimskrams, den der RPG Compiler da generiert ist in ganz wesentlichen Punkten undokumentiert, sprich: die Wackelhaufen können nach Releasewechsel umfallen!
 Zitat von KM
-
Ich verstehe das aber ...
die software ist nicht von uns. Der Hersteller hat vorgeschlagen zukünftig kein RCLACTGRP zu machen
Ich bräuchte also einen Job der eine nicht von ihm gestartete JVM beendet.
Ich weiß zu wenig von Java um zu verstehen was da intern abgeht. (in meiner denke ist ein Job, der 'gekillt' wurde weg und kann wieder aufgerufen werden)
Gruß
Robi
-
@KM
oh,
na das werd ich wohl mal lesen müssen...
Danke
Robi
-
da würde ich doch ein RCLSFWSUP vorschlagen.
D*B
 Zitat von Robi
die software ist nicht von uns. Der Hersteller hat vorgeschlagen zukünftig kein RCLACTGRP zu machen
Ich bräuchte also einen Job der eine nicht von ihm gestartete JVM beendet.
Ich weiß zu wenig von Java um zu verstehen was da intern abgeht. (in meiner denke ist ein Job, der 'gekillt' wurde weg und kann wieder aufgerufen werden)
Gruß
Robi
-
Ich gehe davon aus, dass wir hier das umgekehrte Problem haben: ein RPG Programm wird entladen mit RCLACTGRP und kriegt die Verbindung zur JVM nicht mehr, oder will sie neu starten, was ihr nicht gelingt ohne sie zu beenden
Ja, das ist so.
und wenn du 1000 mal recht hast, das das Murks Mist und ich weiß nicht was ist ...
kann ich die JVM nicht 'ordentlich' beenden ?
Robi
-
Auch wenn man mir das hier nicht glauben mag, aber eine JVM kann man auf der iSeries nicht mehr manuell beenden. Früher ging das mit der Prozedur destroyJVM (siehe Ausschnitt aus ILE Programmers Guide V5R1). Aber in neueren Handbüchern ist das nicht mehr zu finden, weil es auch nicht mehr funktioniert.
Welches Release hast Du denn?
Gruß,
KM
Code:
/*------------------------------------------------------*/
/* destroyJVM */
/*------------------------------------------------------*/
P destroyJVM B EXPORT
D destroyJVM PI N
D rc S LIKE(jint)
D rpgRc S N
D jvm S * DIM(1)
D env S *
D bufLen S LIKE(jsize) INZ(%elem(jvm))
D nVMs S LIKE(jsize)
/free
//----------------------------------------------------------------
// See if there's a JVM started
//----------------------------------------------------------------
rc = JNI_GetCreatedJavaVMs (jvm : bufLen : nVMs);
//----------------------------------------------------------------
// If JVM is started, destroy it
//----------------------------------------------------------------
if (rc = 0
and nVMs > 0);
JavaVM_P = jvm(1);
rc = DestroyJavaVM (jvm(1));
endif;
if (rc = 0);
return *ON;
else;
return *OFF;
endif;
/end-free
P destroyJVM E
Figure 83. Source Code for destroyJVM
-
Wenn es denn ein Batchjob ist, mach einfach einen TFRJOB.
Damit beendest du den Job und auch die JVM und startest halt einen neuen.
-
@KM
Danke für die Info, dort läuft V5R4
@Fuerchau
Ist teilweise versucht worden, macht andere Probleme
Dank dieses Thred wird nun ein serverjob der via dataq bedient wird die Aufgabe übernehmen. Der wird nur zur Nacht beendet.
dann sollte es gehen
Danke an Alle
Robi
Similar Threads
-
By Marimari1009 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 10-01-07, 11:41
-
By Klabautermann in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 29-09-06, 15:39
-
By KM in forum NEWSboard Java
Antworten: 1
Letzter Beitrag: 21-07-06, 11:13
-
By gaby68 in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 14-06-06, 16:27
-
By hs in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 12-12-01, 09:43
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