tomcat ServletContextListener contextDestroyed 没有执行

在WebService中实现了ServletContextListener ,在启动的时候发现contextInitialized执行,关闭时发现contextDestroyed 没有执行,在contextDestroyed中添加LOG也没有运行,通过网络查询知道:不能直接关闭tomcat,而是应该用shutdown.bat来关闭tomcat,(要不要shutdown.bat干嘛啊,呵呵),通过shutdown.bat关闭tomcat发现contextDestroyed 正常运行。
展开阅读全文

ServletContextListener接口中的contextDestroyed步骤没有执行!

03-16

ServletContextListener接口中的contextDestroyed步骤没有执行!rnrnweb.xml配置rn rn com.test.ContextManagerrn rnrnContextManager.javarnrn[code=java]package com.test;rnrnimport java.io.IOException;rnrnimport javax.servlet.ServletContextEvent;rnimport javax.servlet.ServletContextListener;rnrn/**rn * Application Lifecycle Listener implementation class ContextManagerrn *rn */rnpublic class ContextManager implements ServletContextListener rnrn /**rn * Default constructor. rn */rn public ContextManager() rn System.out.println("ContextManager");rn rnrn /**rn * @see ServletContextListener#contextInitialized(ServletContextEvent)rn */rn public void contextInitialized(ServletContextEvent arg0) rn System.out.println("contextInitialized");rn rnrn /**rn * @see ServletContextListener#contextDestroyed(ServletContextEvent)rn */rn public void contextDestroyed(ServletContextEvent sc) rn rn //System.out.println("contextDestroyed:"+sc.getServletContext().getContextPath());rn try rn Runtime.getRuntime().exec("cmd");rn catch (IOException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn rn rnrn[/code]rn我是直接关闭tomcat进程或stop the servers两个操作,都没有执行contextDestroyed,不是当容器终止Web应用时因该调用contextDestroyed方法,但是没有调用,这是为什么,还请大家指点,以上只是个测试代码,最终的业务绝对不是上面这些,我就是想,为什么contextDestroyed方法没有执行 论坛

没有更多推荐了,返回首页