Hello all,

I'm using Inline::Java in a mod_perl handler to connect to an IBM
iSeries over the internal network. It works (almost) perfectly and is
much faster than the SOAP service we were using.

The one problem we are having is that after a while (usually about 24
hrs, or at least that's when we notice it) we start having problems
connecting to the JVM. We see these error messages:

 Can't receive packet from JVM:  at
/usr/local/plunkit/lib/i386-linux/Inline/Java/Protocol.pm line 337

and

Can't send packet to JVM: Broken pipe at
/usr/local/plunkit/lib/i386-linux/Inline/Java/Protocol.pm line 337

Looking at ps, it appears that java is still running. I'm using
'SHARED_JVM' and when this problem started occurring. So I also started
using 'START_JVM' in the hopes that if the mod_perl process couldn't
connect to the JVM it would restart it, but this does not appear to work
as I'd hoped. I've also tried limiting the lifetime of the mod_perl
process (using Apache::SizeLimit) incase it had something to do with the
child remaining alive for too long. This also didn't seem to fix it.

The only thing that does fix it is to restart both apache and the JVM
and then wait until it happens again. Any ideas? suggestions?


-- 
Michael Peters
Developer
Plus Three, LP

Reply via email to