繁体   English   中英

如何在Java中处理结束应用程序事件?

[英]How to handle a closing application event in Java?

拥有一个控制台应用程序,一个服务器接受来自客户端的多个连接,是否可以在关闭应用程序上有一个监听器或事件? 在这种情况下,我希望告诉所有连接的客户端在应用程序真正关闭之前轻轻断开连接。

有解决方案吗 谢谢!

您想使用关闭钩子:

Runtime.getRuntime().addShutdownHook(theHookThread);

因此,线程将在JVM关闭时运行,有关详细信息,请参见此处

如果关闭应用程序,则表示操作系统终止服务器进程?

在那种情况下,服务器无法知道它被杀死了。 它将丢弃现有的连接。

如果通过关闭应用程序,您为sys管理员提供了一种手动关闭服务器的方法(可能是在服务器控制台上键入“exit”)。 然后,关闭事件将是一个自定义事件,您必须对侦听器进行编码并通知服务器正在关闭的每个人。 在这种情况下它是可行的。

尝试添加有关服务器构建方式或工作原理的更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM