-
JVM beenden
Neues Problem
Eine Fremdsoftware macht u.a. etwas mit Java.
(ILE RPG, SQL und Java)
Der Ablauf
Ein RPG Pgm ruft u.a. das fremde RPGLE Pgm, das mit SQL und java arbeitet. Das PRG-pgm ruft auch andere RPGLE Pgmme.
Nach dem Aufruf geschieht im Menü ein RCLACTGRP *eligible.
Wird nun das Pgm erneut gerufen funktioniert Java nicht mehr
Lt Hersteller wird mit dem RCLACTGRP java so komisch abgeschossen, das es nicht mehr aufrufbar ist.
Kann das sein ?
Gibt es nicht ein call 'beende-JVM-ordnugsgemäß' ?
das ich vor dem RCLACTGRP absetzen kann.
Hilfe
Gruß
Robi (der von Java keine Ahnung hat)
-
... die Java Unterstützung des RPG Compilers ist Murks (in Worten Murks, buchstabiert "M" "U" "R" "K" "S"!!!).
Der nächstliegende Workaround, der hier empfohlen wird, ist die JVM per JNI Aufruf (C Funktion) zu killen, was natürlich heißt, dass im nächsten Step wieder neu geladen wird, mit immensem Overhead.
Der tatsächliche Fehler liegt hier (wieder einmal) im Design. Die JVM gehört asynchron gestartet und asynchron bedient. (gibt es Open Source AppServer4RPG).
D*B
Zitat von Robi
Neues Problem
Eine Fremdsoftware macht u.a. etwas mit Java.
(ILE RPG, SQL und Java)
Der Ablauf
Ein RPG Pgm ruft u.a. das fremde RPGLE Pgm, das mit SQL und java arbeitet. Das PRG-pgm ruft auch andere RPGLE Pgmme.
Nach dem Aufruf geschieht im Menü ein RCLACTGRP *eligible.
Wird nun das Pgm erneut gerufen funktioniert Java nicht mehr
Lt Hersteller wird mit dem RCLACTGRP java so komisch abgeschossen, das es nicht mehr aufrufbar ist.
Kann das sein ?
Gibt es nicht ein call 'beende-JVM-ordnugsgemäß' ?
das ich vor dem RCLACTGRP absetzen kann.
Hilfe
Gruß
Robi (der von Java keine Ahnung hat)
-
Der nächstliegende Workaround, der hier empfohlen wird, ist die JVM per JNI Aufruf (C Funktion) zu killen
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
-
... 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
-
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
-
... 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
-
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
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