Java Applet在最新JRE上的奇怪性能行为(7.55)

我们使用来自签名提供商的一些专有小程序来签署一些
XML.当我们使用JRE 6u37 applet运行没有问题 – 运行速度非常快,从不冻结.但是当我们将JRE更新为7u55或更新时,它经常开始挂起.只有浏览器重启帮助.有没有办法解决这个问题可能是由一些参数或其他东西?

这是运行代码:

<script>
    var attributes = {codebase:'#{request.contextPath}/distr',
                      code:'kz.softkey.iola.applet.MainApplet',
                      archive:'iolaApplet.jar',
                      type:'application/x-java-applet',
                      mayscript:'true',
                      id:'iolaApplet',
                      name:'iolaApplet',
                      width:1, height:1} ;
    var parameters = {code:'kz.softkey.iola.applet.MainApplet', 
                    codebase:'#{request.contextPath}/distr',
                    archive:'iolaApplet.jar',
                    cache_option:'Plugin',
                    cache_archive:'iolaApplet.jar',
                    mayscript:'true',
                    scriptable:'true',
                    fileExtension:'KEYSTORE',
                    cache_archive:'iolaApplet.jar',
                    java_arguments:'-Xmx300m',
                    writesoap:'false';
    var version = '1.6';
    deployJava.runApplet(attributes, parameters, version);
</script>

最佳答案 在版本7和版本6之间,jre中的applet实现有一些小的变化.我发现当我的团队将一些旧项目从6迁移到7时,在少数情况下,当用户尝试修改内容时,applet开始挂起.在我的情况下,更改是表如何处理firePropertyChange,当用户在单元格无限循环中发生更改时.如果您无法访问来源,我认为您无法检查导致问题的原因.

//编辑

我没有看到您调用部署脚本中的任何方法来将数据从站点添加到applet,因此我假设您应该能够像IDE一样从IDE运行它.
如果序列化一些数据并将其发送到applet,则需要找到在applet本地运行时在applet上加载数据的方法.
在我的情况下,我们使用自定义序列化器进行数据,我们创建了一些用于测试的实用程序,我们将序列化数据放在txt文件中并在本地运行applet(从IDE).
这样就可以像任何其他应用程序一样调试applet.
更改jre时调试applet很难,因为你通常不知道应用程序的流程何时出错.
在我的情况下,我们最终坐在两个屏幕之前,两个applet在两个版本的java上运行,并逐行比较applet的流量.
他这样坐了一段时间,我们发现了一些小的改变(我不会完全记得,但我很确定它是一个’如果’改变了,这是我们问题的原因)在java版本之间.

点赞