假设
运行网络应用程序的 tomcat 容器。
触发 tomcat 关闭命令。
在我的例子中,tomcat 容器没有关闭,因为在关闭命令被触发后仍有任务线程。
最佳答案
除非 Tomcat 中有我不知道(可能)的魔法,否则问题可能是您的 hibernate 线程不是守护线程。一旦启动 JVM 关闭(通过外部 HUP/INT/TERM 信号,或 System.exit 或任何其他方式),JVM 将等待直到所有非守护线程正常完成。您需要安排 sleep 线程有序关闭,或设置 daemon=true当它们被创建时。
关于java - 当容器关闭时 sleep 线程会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8072479/