java - 线程是否应该有特殊设计才能被 Tomcat 正常关闭?

标签 java multithreading tomcat

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

shutdown.bat

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

最佳答案

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

如果您不将线程声明为守护线程,向线程发送服务器关闭信号的方法是实现 ServletContextListener 并将其配置到您的 Web 应用程序 (web.xml)。当 Tomcat 关闭时,它会首先关闭每个应用程序,这反过来会导致调用监听器的 contextDestroyed() 方法 - 这是您可以向自己的线程发出信号的地方完成他们的工作。

关于java - 线程是否应该有特殊设计才能被 Tomcat 正常关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8680465/

相关文章:

java - 资源解析器异常 : Cannot resolve element with ID Body

java - 套接字多线程死锁

c++ - Boost.Asio同步和并发数据结构模式

multithreading - Kotlin `?.let` 线程安全吗?

maven - Maven、Artifactory 和 Jenkins 环境中各种 Maven 配置文件(jboss、tomcat、glassfish)的不同数据库库名称( Artifact )

apache - Tomcat 上的内容协商

Java Swing JComboBox 不可编辑

java - Http java文件下载问题

multithreading - 如何并行运行 Scalaz 任务

tomcat - 安装后从 XAMPP 中删除 Tomcat