Greetings,

I'm working on integrating a legacy application with j2ee/ejb services
running on an app server cluster. Originally I was using Inline::Java in
JNI mode. However the documented issues with forking processes is
causing me to switch to the default client/server mode.

Since the application in question was grown in a way that results in it
forking off perl processes and performing some actions, or execing
scripts which cause new perl processes to start, a shared JVM is
attractive. Ideally, each machine in the cluster would have its own
single, running  JVM that local clients would use.

The problem I'm having, is that I'm not clear on the proper way to
configure this. I imagine that its fairly close to how mod_perl would be
setup with the additional caveat that there may be processes started
that are not children of the 'parent' process.

At this point, I've achieved some functionality with the shared JVM. I'm
just not clear on when reconnect_JVM is required. Is this only required
after a fork to deal with closing the parents sockets/registering with
the shared JVM? Is there a way to see if the JVM is already running
besides checking $Inline::Java::JVM? Is there a way to find out the pid
that started the JVM besides the pid member variable in Inline::Java::JVM?

I have a few issues remaining which I believe are caused by a fork()
call I haven't tracked down yet. The symptom is that JNDI lookups fail,
or EJB calls result in authorization failures. I just want to ensure
that I'm not misunderstanding how/when to use reconnect.


TIA


--
J.

Reply via email to