Hallo,
Das Problem von RPG, CL und solchen Aufrufen sind Threading Probleme.
Alle aufgerufenen Programme müssen Threadsafe sein, bei RPG gibt es eine Option in den H Zeilen (irgendwas mit *SERIALIZE siehe RPG Referenz). Bei CL geht das garnicht => unpredictable Results, das was Sie da haben.
Aufrufe aus Java über RPG und zurück sind im Umfeld von Multi threaded Applications deadlock Kandidaten.
Einfachster Weg aus Java RPG aufzurufen (auch CL möglich) sind stored Procedures, d.h. RPG oder CL als stored Procedure registrieren und über SQL CALL aufrufen.
Von synchronen Aufrufen von Java und CL würde ich generell abraten, obwohl ich weiss, dass das manche nicht hören/wahrhaben wollen

mfg

Dieter Bender