2013-04-09 189 views
3

我想知道如何监听Tomcat Web应用程序部署。每当应用程序从容器中卸载或部署到容器时,我都想调用侦听器。Tomcat应用程序部署监听器

我已经调查了一下,发现一些听众,即LifecycleListener可以通过JMX注册。但不幸的是,这个监听器对我来说不够,因为它只是在引擎/主机/上下文处于关闭或启动过程中时触发事件。

ContainerListener相同,基本上通知容器关机和启动事件。

所以,我的问题基本上是:我应该实现哪个接口?如何在每次部署新应用程序时通知我如何注册到tomcat?

回答

1

servlet上下文初始化/销毁

import org.apache.juli.logging.Log; 
import org.apache.juli.logging.LogFactory; 

import javax.servlet.ServletContextListener; 
import javax.servlet.ServletContextEvent; 

public class AppContextListener implements ServletContextListener { 

    private static final Log logger = LogFactory.getLog(AppContextListener.class); 

    @Override 
    public void contextDestroyed(ServletContextEvent e) { 
     logger.warn("AppContext Delete: " + e.getServletContext().getContextPath()); 
    } 

    @Override 
    public void contextInitialized(ServletContextEvent e) { 
     logger.warn("AppContext Create: " + e.getServletContext().getContextPath()); 
    } 

} 

投入的tomcat/conf目录/ web.xml文件

<listener> 
    <listener-class>AppContextListener</listener-class> 
    </listener> 
相关问题