我们运行我们的 web 应用程序,我们启动一些线程进行后台工作以及 Quartz。 当我尝试关闭 tomcat(在 linux 上使用 shell 脚本)时,我总是收到错误提示,由于守护进程线程和 Quartz 线程,无法关闭 tomcat。 我们已经尝试了不同的方法来关闭我们的线程(退出运行方法)但是我们依靠类的几个静态变量来执行此操作,当我关闭的监听器获得回调时这些变量变为空
对于这种情况,是否有关闭 tomcat 的标准方法?
最佳答案
现在对于可能的答案(如果你使用 Spring),查看 this thread .如果您使用 Spring,您可以在 Quartz 的 spring 配置中添加一个显式的 destroy
子句,这样它就可以干净地关闭。
否则 Servlet 监听器(我认为是 ServletContext 监听器,但已经有一段时间了......)可以检测到关闭并且您可以手动关闭 Quartz。
关于java - 由于守护进程线程,Tomcat 没有干净地关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3815587/