一尘不染

线程是否应具有特殊的设计以被Tomcat正常关闭?

tomcat

我已经开发了在Tomcat中运行的多线程Web应用程序。但是我不能用

shutdown.bat

Tomcat没有正常停止。在调试器中,我看到在关闭命令后线程继续运行。我是否必须修复应用程序代码以满足特殊要求?谢谢。


阅读 231

收藏
2020-06-16

共1个答案

一尘不染

…并将其他响应与Java Servlet环境的工作联系起来;

如果您没有将线程声明为守护程序线程,则向服务器发出信号通知线程关闭的方法是实现ServletContextListener并将其配置到Web应用程序(web.xml)。当Tomcat关闭时,它将首先关闭每个应用程序,这又将导致contextDestroyed()调用侦听器的方法-
在这里您可以向自己的线程发出信号,告知它们应该完成工作。

2020-06-16