我接管了一个旧的 Web 应用程序的维护工作,该应用程序使用嵌入在同一网页中的多个小程序。这过去工作正常,但自从引入了下一代 Java 插件 (~1.6.0_10) 后,不能保证各个小程序加载到同一个 JVM 实例中。如果它们加载在不同的 JVM 中,则它们无法通过 AppletContext.getApplets() 或静态变量进行通信。
有什么方法可以强制小程序加载到同一个 JVM 实例中吗?我看到提到的解决方法,其中指定相同的“java_arguments”参数可能会鼓励 Java 插件在同一 JVM 实例中运行小程序,但这对我们的应用程序不起作用(并且在任何情况下都不受 Oracle 官方支持,因此可能会消失无论如何时间)。
我们也曾尝试用间接的 applet 到 JavaScript 到 applet 通信替换直接的 applet 到 applet 通信,但是我们不能使用这种方法,因为我们的客户使用旧的 Web 浏览器版本,这会阻止这种工作.如果可能的话,我希望避免通过非本地服务器路由所有本地 applet 到 applet 的通信。
最佳答案
我们遇到了类似的问题,并通过在 Java 控制面板中禁用“下一代”Java 插件来解决它。
关于java - 强制小程序加载到同一个 JVM 实例中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780929/