I still think it should be possible to run several jobs that all use Java without it locking up.

But I went a different way - tried submitting to a single-thread JOBQ - that went longer - and for the reason you say, Dieter - each job had to initialize its own JVM - yeah, that is something I know about.

There is more than one right way - in this case, the right way is call SQL2JXL again and again in the same program - I believe that once there is a JVM in a job, that it doesn't do anymore initialization.

So I really want to get away from the Java-based solution completely and go to using CGIDEV2 to write OpenXML - trouble that I have is, getting an image into the worksheet - saving to 2003 XML format doesn't preserve the image.

That's for another thread!!


On 7/3/2014 1:29 AM, D*B wrote:
... starting a JVM on an as400 is very timeconsuming and each JVM needs lots (compared to "native" as400 jobs) of main memory. Starting a JVM for producing one spreadsheet is a very bad design and is punished by your results, in other words: works as designed!!!

If you try to run multiple of these jobs in parallel, they will eat up your memory and performance adjustment (QPFRADJ ) will lower the activity levels and nothing is going on. This approach is even worse, in other words: works as designed!!!

Doing it the right way, you would have one prestarted JVM waiting for work and you would have a native Command sending work to the jvm, getting back the results. My OpenSource AppServer4RPG (its the base layer of my Open Source application ArdGate) could be used as a Framework to implement this. In similar cases it took me one day to write a plug in for such work and the runtime decreased from > 10 seconds to < 1 second (depends on your hardware and the application) normally runtime was 10 to 20 times faster (with less ressource consumption).


This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page