我想要的是每次tomcat服务器启动时都启动一个线程。为此,我需要捕获关闭tomcat的事件,我该怎么做呢?我尝试使用会话来执行此操作,但有时会话甚至在关闭后仍然存在断断续续地重新安装tomcat?我有什么选择?
您可以尝试通过以下方式捕获JVM关闭事件:
Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { System.out.println("BYE BYE"); } });
另一个选择是使用 @WebListener Annotation 实现ServletContextListener 。在这种情况下,不需要xml配置。
@WebListener public class MyLifeCycleListener implements ServletContextListener { public void contextInitialized(ServletContextEvent event) { //TODO ON START } public void contextDestroyed(ServletContextEvent event) { //TODO ON DESTROY } }