2013-04-09 2 views
3

Tomcat 웹 응용 프로그램 배포를 수신 대기하는 방법은 궁금합니다. 응용 프로그램을 배포 취소하거나 컨테이너에서 배포 할 때마다 청취자가 호출되도록하고 싶습니다.Tomcat 응용 프로그램 배포 수신기

이미 조금만 조사한 결과 일부 수신기 (예 : LifecycleListener)가 JMX를 통해 등록 될 수 있음을 알았습니다. 하지만 불행히도이 리스너는 엔진/호스트/컨텍스트가 종료 또는 시작 프로세스에있을 때 이벤트를 트리거하기 때문에 충분하지 않습니다.

기본적으로 컨테이너 종료 및 시작 이벤트를 알려주는 ContainerListener과 동일합니다.

내 질문은 기본적으로 : 인터페이스를 구현해야하며 새 응용 프로그램이 배포 될 때마다 알림을 받으려면 어떻게 등록 할 수 있습니까?

답변

1

서블릿 컨텍스트 초기화/

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()); 
    } 

} 

을 파괴하고 바람둥이/conf의 투입/web.xml을

<listener> 
    <listener-class>AppContextListener</listener-class> 
    </listener> 
관련 문제