javaw.exe进程在applet start上挂起

时间:2013-11-15 09:16:59

标签: java windows applet

我们会定期遇到阻止applet运行的问题,javaw.exe进程似乎被锁定,多次杀死它们解锁applet。在跟踪文件中我找到了这个(我们有jdk 1.6_35,applet由j2ee web应用程序使用):

**server running at port: 50091
basic: unique id: JavaControlPanel
basic: server port at: 49187
basic: getSingleInstanceFilename: C:\Users\amoriconi\AppData\LocalLow\Sun\Java\Deployment\tmp\si\JavaControlPanel-x86_49187
basic: file should be removed: C:\Users\amoriconi\AppData\LocalLow\Sun\Java\Deployment\tmp\si\JavaControlPanel-x86_50091
basic: waiting connection
Exception in thread "main" java.lang.ExceptionInInitializerError
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at sun.security.jca.ProviderConfig$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.security.jca.ProviderConfig.doLoadProvider(Unknown Source)
    at sun.security.jca.ProviderConfig.getProvider(Unknown Source)
    at sun.security.jca.ProviderList.getProvider(Unknown Source)
    at sun.security.jca.ProviderList$ServiceList.tryGet(Unknown Source)
    at sun.security.jca.ProviderList$ServiceList.access$200(Unknown Source)
    at sun.security.jca.ProviderList$ServiceList$1.hasNext(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at java.security.SecureRandom.getInstance(Unknown Source)
    at java.security.SecureRandom.getDefaultPRNG(Unknown Source)
    at java.security.SecureRandom.<init>(Unknown Source)
    at com.sun.deploy.services.WPlatformService.getSecureRandom(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl.getSecureRandom(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl.access$100(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer.createSingleInstanceFile(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl$SingleInstanceServer.<init>(Unknown Source)
    at com.sun.deploy.si.SingleInstanceImpl.addSingleInstanceListener(Unknown Source)
    at com.sun.deploy.panel.ControlPanel.<init>(Unknown Source)
    at com.sun.deploy.panel.ControlPanel.main(Unknown Source)
Caused by: java.lang.RuntimeException: java.security.NoSuchAlgorithmException: class configured for SecureRandom(provider: SUN)cannot be found.
    at java.security.SecureRandom.getDefaultPRNG(Unknown Source)
    at java.security.SecureRandom.<init>(Unknown Source)
    at com.sun.crypto.provider.SunJCE.<clinit>(DashoA13*..)
    ... 28 more
Caused by: java.security.NoSuchAlgorithmException: class configured for SecureRandom(provider: SUN)cannot be found.
    at java.security.Provider$Service.getImplClass(Unknown Source)
    at java.security.Provider$Service.newInstance(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at java.security.SecureRandom.getInstance(Unknown Source)
    ... 31 more
Caused by: java.lang.ClassNotFoundException: com/sun/deploy/security/WSecureRandom
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    ... 36 more**

由于某种原因,这个问题起源于java的隐藏更新,安装jdk 7u45然后删除解决一段时间的问题..... 我疯了......

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为在新版本的JRE(7u45-b18)中对applet施加了更多安全检查。

  

http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html#newft

很好地使用旧的JRE或实现与安全相关的更改。