由于守护程序线程,Tomcat没有干净地关闭

Faz*_*zal 3 java tomcat6

我们运行我们的Web应用程序,我们开始一些Threads用于后台工作以及Quartz.当我尝试关闭tomcat(在linux上使用shell脚本)时,我总是得到错误,说由于守护程序线程和Quartz线程而无法关闭tomcat.我们已经尝试了不同的方法来关闭我们的线程(退出run方法)但是我们依赖于类的一些静态变量来执行此操作,当我的关闭侦听器获得回调时它变为null

有没有一种标准方法可以关闭这种情况下的tomcat?

ext*_*eon 5

现在可能的答案(如果您使用Spring),请查看此主题.如果使用Spring,可以在Spring的Spring destroy配置中添加一个explicit 子句,以便它可以干净地关闭.

否则一个Servlet监听器(我认为ServletContext监听器,但它已经有一段时间......)可以检测到关机,你可以手动关闭Quartz.