Java AppletRelaunch由于健康

 WSSDRED_935 发布于 2023-01-29 16:41

我有一个Web应用程序,在其生命周期内创建/销毁几个小程序.在创建新applet时,JVM会定期启动第二个实例.applet共享各种内存结构,因此JVM重新启动会导致整个应用程序出现故障.

这是我唯一的线索.在控制台中,这是applet启动导致新JVM启动时所写的内容:

security: SSV validation:
    running: 1.7.0_51
    requested: null
    range: null
    javaVersionParam: null
    Rule Set version: null
network: Created version ID: 1.7.0.51
network: Created version ID: 1.7.0.51
security: continue with running version
basic: AppletRelaunch due to health
network: Created version ID: 1.9
network: Created version ID: 1.8
network: Created version ID: 1.7
network: Created version ID: 1.6
network: Created version ID: 1.5
network: Created version ID: 1.4
network: Created version ID: 1.3
basic: WARNING - specified JRE version, null is invalid platform version
basic: Removed progress listener: sun.plugin.util.ProgressMonitorAdapter@92c0c8
basic: Saving session state to C:\Users\Admin\AppData\Local\Temp\session6130220480729710774
basic: Remote relaunch: LaunchJVMAppletMessage{appletID=16, conversationID=1, javaHome=C:\Program Files (x86)\Java\jre7, launchTime=132313312167, sendKill=false, [sun.plugin2.main.client.PluginMain, write_pipe_name=jpi2_pid2192_pipe22,read_pipe_name=jpi2_pid2192_pipe21]}
security:  --- parseCommandLine converted : 
into:
[]
security:  --- parseCommandLine converted : -Xmx1g -Xms256m -Xss256k
into:
[-Xmx1g, -Xms256m, -Xss256k]
network: Created version ID: 2.0+
network: Created version ID: 1.6.0.10
basic: RemoteJVMLauncher.start(), pipe=Pipe{transport=WindowsNamedPipe: server: false; readPipe: jpi2_pid2192_pipe8, readBufferSz: 4096; writePipe: jpi2_pid2192_pipe9, writeBufferSz: 4096, initiatingSide=false} message: LaunchJVMAppletMessage{appletID=16, conversationID=1, javaHome=C:\Program Files (x86)\Java\jre7, launchTime=132313312167, sendKill=false, [sun.plugin2.main.client.PluginMain, write_pipe_name=jpi2_pid2192_pipe22,read_pipe_name=jpi2_pid2192_pipe21]}
basic: Thread[RemoteJVMLauncher-16,5,main] running...
basic: RemoteJVMLauncher.afterStart(): initializing streamers
handleLaunchJVM(): RemoteJVMLauncer.setCallBack for 16

与此相比,在正常的applet启动期间写入控制台:

security: SSV validation:
    running: 1.7.0_51
    requested: null
    range: null
    javaVersionParam: null
    Rule Set version: null
network: Created version ID: 1.7.0.51
network: Created version ID: 1.7.0.51
security: continue with running version
network: Created version ID: 1.7.0.51
network: Created version ID: 1.7
network: Created version ID: 2.2.51
security:  --- parseCommandLine converted : 
into:
[]

在这一行上,一切都是一样的:

basic: AppletRelaunch due to health

谷歌搜索这给了我什么."健康"是什么意思?我的直觉和重新启动的时间让我觉得它与内存消耗有关,但java.exe总是在200mb以下运行,我尝试使用java_arguments(-Xms256m -Xmx1g -Xss256k)增加内存限制无济于事.

关于什么可能导致重新启动的任何想法?有没有办法从HotSpot JVM获取更多信息,以找出哪些特定的"健康"检查失败?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有