我如何知道我的tomcat Web应用程序何时停止?

时间:2008-12-31 16:27:54

标签: tomcat

我希望在tomcat停止我的网络应用程序之前得到一个'事件' 我的应用程序需要在关闭之前“收拾”它们。

3 个答案:

答案 0 :(得分:5)

除了响应destroy()之外什么都不做的servlet是功能性的,但有点像黑客。 Servlet用于处理Web请求。

正确的做法是实现ServletContextListener并用contextDestroyed()方法完成包装。

在web.xml中注册您的ServletContextListener,如:

<listener>
    <listener-class>com.foo.MyListener</listener-class>
</listener>

答案 1 :(得分:3)

我想我找到了它,我创建了一个servlet并实现了

public void destroy();

我验证了当我从tomcat管理页面停止应用程序时调用此方法,甚至当我关闭tomcat服务器时

JavaEE 6 doc on Servlets

答案 2 :(得分:1)

您可以编写一个ContextListener来响应deploy / undeploy事件。也许你可以让它在取消部署上下文时发送电子邮件。

如果应用服务器停止,我只是不确定是否会触发该事件。