Tomcat自定义LifecycleListener,如何监听StandardContext
卡巴卡吧 2013-03-01 04:21:08 Tomcat含多种容器组件
1.StandardServer(代表Tomcat本身,最大的一个组件)
2.StandardContext(代表某个webapp应用)
其余省略……
这些组件都有生命周期,现在我自定义的LifecycleListener来监听组件的生命周期
1.自定义监听类,代码打成任意名的jar包放到Tomcat/lib下
package com.test.listener;
import org.apache.catalina.*;
public class MyListener implements LifecycleListener{
public void lifecycleEvent(LifecycleEvent event) {
System.out.println("组件类型:"+event.getLifecycle());
System.out.println("生命周期阶段 : "+event.getType());
}
}
2.配置Tomcat/conf/server.xml,
加上一句 <Listener className="com.test.listener.MyListener" />
3.运行Tomcat,Console上得到System.out.print输出
组件类型:StandardServer[8005]
生命周期阶段 : before_init
组件类型:StandardServer[8005]
生命周期阶段 : after_init
组件类型:StandardServer[8005]
生命周期阶段 : before_start
组件类型:StandardServer[8005]
生命周期阶段 : configure_start
组件类型:StandardServer[8005]
生命周期阶段 : start
组件类型:StandardServer[8005]
生命周期阶段 : after_start
问题来了:
我只看到了StandardServer这个组件的生命周期,因为我部署了好几个web-app,所以肯定也会有StandardContext的初始启动的过程,我想打印这些StandardContext的生命周期,该怎么做,或者是哪里做错了吗?