如何执行正常关闭(Java)?

时间:2015-04-13 11:24:00

标签: java tomcat application-shutdown

我理解,优雅的关闭可以完成预先存在的请求,同时拒绝新的请求。

如何正常关闭在Apache Tomcat实例上运行的Java应用程序?不确定我是否需要扩展当前的应用程序,或者它是否是一个简单的终端命令。

1 个答案:

答案 0 :(得分:1)

我希望你的意思是在你的Tomcat上运行的WebApp。

您可以在web.xml中定义一个监听器:

<listener>
    <listener-class>
         your.project.ContextListener
     </listener-class>
</listener>

可以处理关闭上下文(WebApp)。

import javax.servlet.ServletContextListener;
public class ContextListener implements ServletContextListener {

   @Override
   public void contextDestroyed(ServletContextEvent sce) {
    cleanYourResources();
   }

}

当关闭Tomcat或在Tomcat管理器中停止webapp时,会发送contextDestroyed事件,并且您的监听器可以进行必要的内务处理。通常,它涉及停止后台线程(如计划任务),保存缓存内容,关闭资源池等。)