如果我有一个已启动的Java应用程序并启动系统重启 – Windows无法自动停止此Java应用程序,我收到以下消息:
“此程序阻止Windows重新启动”.
如果我按下取消,那么我可以看到阻止重新启动的Java应用程序挂起.
此问题会影响我的Java应用程序和jconsole等应用程序.
在JRE更新之前,JRE 1.6.0_26上的一切正常.
我首先在JRE 1.6.0_36上遇到了这个问题.但它也发生在1.6.0_39.
P.S:我有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); } });
在具有这样的addhook的应用程序通常在系统重启时关闭之后,但我发现如果我们只关闭应用程序(通过按exit或“x”)Java VM未终止(我们可以在taskmgr中看到javaw进程).
从日志文件中我可以看到该程序永远不会离开dispose()函数.如果我评论dispose()并且只留下System.exit(0)Java VM仍然无法终止.
更新2:
已为此问题创建了故障单.我们收到了Oracle的回复:“问题被复制并确认.”
如果应用程序最小化,我们不会收到消息.
消息“此程序阻止Windows重新启动”
我们选择“强制重启”或“取消”,如果你选择取消选项,Java控制面板挂起,javaw.exe进程以25%cpu运行,这是在四处理器服务器上,所以我假设一个处理器,它将以100%cpu运行.
奥利弗
原文地址:https://www.jb51.cc/windows/365233.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。