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]

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.
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 >
