Hallo,

ich kann aus dem Ärmel auch nicht sagen, warum das so nicht geht. Aber zu RPG und Java, insbesondere JNI sei doch folgendes angemerkt:

1. Java läuft nur Multithreaded (wg. garbage Collector)

2. RPG läuft nicht im Multithreaded Environment, jedenfals nicht problemlos. Die Compile Option Thread *serialize synchronisiert auf Module Ebene, was Deadlocks zur Folge haben kann und für Exporte von Variablen nicht hilft.

3. In jedem Job, der JNI verwendet, wird eine JVM gestartet, was für das Einbinden von Java Aufrufen in interaktive RPG Programme katastrophale Folgen hat.

4. Spätestens wenn man dann in dem java Programm wieder RPG per JNI aufruft, ist die Katastrophe vorprogrammiert, sowohl was Performance, als auch die Stabilität betrifft.

5. Das enge vernähen von so unterschiedlichen Technologien wie Java und RPG ist ein ernsthafter Design Mangel

Mein Resümee: bleiben lassen
entweder Java oder RPG!!!

Wenn man vorhandene (RPG) Funktionen denn wirklich in Java nutzen will oder muss, ist der einfachste Weg SQL Functions oder stored Procedures; aber bitte in der Anwendung sauber kapseln, damit man diesen Mix irgendwann mal los wird.
Wenn man bereits in Java entwickelt, gibt es keinen vernünftigen Grund parallel dazu weiter RPG zu schreiben, Spass macht das dann den meisten eh' nicht mehr.

Dieter Bender