JVM in RMID vs Standalone JVM

Isn't it the the mechanism/process/memory model in standalone JVM same with the JVM spawned by the RMI Activation server?

This is regarding the creation of multiple native objects (C++). It works fine with a standalone program written in Java through JNI. However, the JVM hanged during the creation of native objects when it was running within a RMI server. No stack traces printed, the RMI server then cannot be stopped by rmid -stop, though it seemed like stopped sucessfully, but all the java and rmid processes were still exist and have to be terminated by kill command under Linux.

[601 byte] By [tycuzza] at [2007-10-2 22:01:14]
# 1

I'm not an RMID expert, but I think the difference is in the fact that RMID will create a new JVM for each request.

If you use a single JVM for all your remote objects, there may be some low level interaction between different native objects (e.g, global variables, memory allocation/access errors) that you wouldn't otherwise encounter.

genadya at 2007-7-14 1:17:30 > top of Java-index,Core,Core APIs...
# 2
No. RMID creates a new JVM per ActivationGroup, which is the thing that the Activatable was registered inside when it was registered. When any activatable in that activation group has to be activated a JVM is created for the group if it isn't already running.
ejpa at 2007-7-14 1:17:31 > top of Java-index,Core,Core APIs...
# 3
Sounds like a better idea :)Thanks,Genady
genadya at 2007-7-14 1:17:31 > top of Java-index,Core,Core APIs...
# 4
Problem has been found, there was a deadlock int the C++ program. Everything works fine now.But I still don't understand why I couldn't reproduce the problem under a stand-alone Java program.Thanks anyway!
tycuzza at 2007-7-14 1:17:31 > top of Java-index,Core,Core APIs...