我已经开发了在Tomcat中运行的多线程Web应用程序。但是我不能用
shutdown.bat
Tomcat没有正常停止。在调试器中,我看到在关闭命令后线程继续运行。我是否必须修复应用程序代码以满足特殊要求?谢谢。
…并将其他响应与Java Servlet环境的工作联系起来;
如果您没有将线程声明为守护程序线程,则向服务器发出信号通知线程关闭的方法是实现ServletContextListener并将其配置到Web应用程序(web.xml)。当Tomcat关闭时,它将首先关闭每个应用程序,这又将导致contextDestroyed()调用侦听器的方法- 在这里您可以向自己的线程发出信号,告知它们应该完成工作。
ServletContextListener
contextDestroyed()