A DESCRIPTION OF THE REQUEST :
A feature of the next generation plugin is that multiple JVMs may be launched from each browser.
I have a setup where two identical applets are embedded in the same page. The applets use static variables to exchange information. This works fine in the old Java plugin, but since the new plugin can create multiple JVMs, the two applets are occasionally loaded in separate JVMs, and therefore also separate classloaders, thus destroying their ability to communicate using static variables.
I would like to be able to group applets together such that it is guaranteed that they will always be loaded in the same JVM instance. I imagine this could be done something like this, as a new applet parameter:
<PARAM name="jvm_group" value="JVM_1">
JUSTIFICATION :
Applets communicating by shared memory variables will be broken by the multiple jvm feature of the new plugin. Essentially what is needed is the opposite of the separate_jvm parameter or a grouping parameter as described above.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expect that two applets grouped in this way will always be loaded in the same JVM instance.
ACTUAL -
At the moment, it occasionally occurs that the two applets on the page are loaded in separate JVM instances.
---------- BEGIN SOURCE ----------
This can be reproduced by navigating to a page containing an arbitrary applet, ie. a JVM instance exists already. If you then navigate to the page containing the two applets, one of the two applets will be started up in the old JVM and the other will be loaded in a fresh JVM.
I don't have sample source code at this time.
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Workaround is to disable the next generation plugin in the Java control panel.
This is a logon applet setup distributed to 500.000+ customers, asking them to disable the plugin manually is not an option.
A feature of the next generation plugin is that multiple JVMs may be launched from each browser.
I have a setup where two identical applets are embedded in the same page. The applets use static variables to exchange information. This works fine in the old Java plugin, but since the new plugin can create multiple JVMs, the two applets are occasionally loaded in separate JVMs, and therefore also separate classloaders, thus destroying their ability to communicate using static variables.
I would like to be able to group applets together such that it is guaranteed that they will always be loaded in the same JVM instance. I imagine this could be done something like this, as a new applet parameter:
<PARAM name="jvm_group" value="JVM_1">
JUSTIFICATION :
Applets communicating by shared memory variables will be broken by the multiple jvm feature of the new plugin. Essentially what is needed is the opposite of the separate_jvm parameter or a grouping parameter as described above.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expect that two applets grouped in this way will always be loaded in the same JVM instance.
ACTUAL -
At the moment, it occasionally occurs that the two applets on the page are loaded in separate JVM instances.
---------- BEGIN SOURCE ----------
This can be reproduced by navigating to a page containing an arbitrary applet, ie. a JVM instance exists already. If you then navigate to the page containing the two applets, one of the two applets will be started up in the old JVM and the other will be loaded in a fresh JVM.
I don't have sample source code at this time.
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Workaround is to disable the next generation plugin in the Java control panel.
This is a logon applet setup distributed to 500.000+ customers, asking them to disable the plugin manually is not an option.
- relates to
-
JDK-7169864 Multiple applets in a frameset causes a separate JVM to be created
-
- Closed
-