Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat应用程序部署侦听器_Java_Tomcat - Fatal编程技术网

Java Tomcat应用程序部署侦听器

Java Tomcat应用程序部署侦听器,java,tomcat,Java,Tomcat,我想知道如何监听Tomcat web应用程序部署。我希望在每次从容器中取消部署或部署应用程序时调用侦听器 我已经做了一些调查,发现一些监听器,即LifecycleListener可以通过JMX注册。但不幸的是,这个侦听器对我来说还不够,因为它仅在引擎/主机/上下文处于关闭或启动过程时触发事件 与基本上通知容器关闭和启动事件的ContainerListener相同 因此,我的问题基本上是:我应该实现哪个接口,如何将其注册到tomcat,以便在每次部署新应用程序时都收到通知?servlet上下文初始

我想知道如何监听Tomcat web应用程序部署。我希望在每次从容器中取消部署或部署应用程序时调用侦听器

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

与基本上通知容器关闭和启动事件的
ContainerListener
相同


因此,我的问题基本上是:我应该实现哪个接口,如何将其注册到tomcat,以便在每次部署新应用程序时都收到通知?servlet上下文初始化/destroy

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>

AppContextListener