我需要一个建议来解决以下问题。
我有两个在同一个应用服务器下运行的Web应用程序(比如说WEBAPP-A和WEBAPP-B)。每个应用程序页面中的每个登录页面都会激活一个特定的applet (我们分别称它们为JAPP-A和JAPP-B)。这两个小程序需要使用相同的DLL。
每个applet(JAPP-A或JAPP-B)在单独访问应用程序时工作正常(在我们的例子中,使用的浏览器是Internet Explorer 8.0,客户端的JRE版本是1.7.0_45)。但是,当从WEBAPP-A重定向到WEBAPP-B时,小程序JAPP-B崩溃。
我收到错误:
UnsatisfiedLinkError: 'DLL already loaded in another classloader'
所以我尝试通过在applet标记内设置相同的CODEBASE值并在CODEBASE路径下部署包含JAPP-B代码的JAR,为JAPP-A和JAPP-B使用相同的类加载器,但我们得到了相同的错误信息。
为了让applet JAPP-B正常工作,有人可以建议一种替代方法吗?
答案 0 :(得分:2)
在其自己的Java虚拟机中部署每个applet。例如。来自Applet Deployment Parameters: separate_jvm
。
<APPLET archive="my_applet.jar" code="MyApplet" width="300" height="300">
<PARAM name="java_arguments" value="...">
<!-- use a separate JVM for this applet! -->
<PARAM name="separate_jvm" value="true">
</APPLET>