小编Dmi*_*lov的帖子

JRE更新后,Java应用程序会阻止服务器重启

JRE更新后我遇到了问题.

如果我有一个启动的Java应用程序并启动系统重启 - Windows无法自动停止此Java应用程序,我收到以下消息: "此程序阻止Windows重新启动". 如果我按下取消,那么我可以看到阻止重启的Java应用程序挂起.此问题会影响我的Java应用程序和jconsole等应用程序.

在JRE更新之前,JRE 1.6.0_26上的一切正常.我首先在JRE 1.6.0_36上遇到了这个问题.但它也发生在1.6.0_39.

PS:我有Windows Server 2008 R2 Interprise

有没有人有同样的问题或者可以建议在这种情况下做什么?谢谢.

更新: 我已实现以下addhook:

Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
logger.log("SHUTDOWN - BEGIN");
((Window) view).setVisible(false);
logger.log("SHUTDOWN - Visible");
((Window) view).dispose();
logger.log("SHUTDOWN - Dispose");
System.exit(0);
}
});
Run Code Online (Sandbox Code Playgroud)

在具有这样的addhook的应用程序通常在系统重启时关闭之后,但我发现如果我们只关闭应用程序(通过按exit或"x")Java VM未终止(我们可以在taskmgr中看到javaw进程).

从日志文件中我可以看到程序永远不会离开dispose()函数.如果我评论dispose()并且只留下System.exit(0)Java VM仍然无法终止.

更新2: 已为此问题创建了故障单.我们收到了Oracle的回复:"问题被复制并确认."

java windows

8
推荐指数
2
解决办法
1440
查看次数

标签 统计

java ×1

windows ×1