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的生命周期,该怎么做,或者是哪里做错了吗?
...全文
417 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
http://blog.csdn.net/holly2k/article/details/5286025 http://readopac1.ncl.edu.tw/tomcat-docs/catalina/docs/api/org/apache/catalina/session/StandardManager.html http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/catalina/Lifecycle.html
shine333 2013-03-03
  • 打赏
  • 举报
回复
如上,Servlet标准的ServletContextListener如果能满足,直接用这个吧
bluemoby 2013-03-01
  • 打赏
  • 举报
回复
监听context的初始化和销毁使用ServletContextListener
卡巴卡吧 2013-03-01
  • 打赏
  • 举报
回复
输出内容是我从Tomcat Console中提取System.out.println的部分,Tomcat自己的log都省略了。 这个问题也放到百度知道上,但对那里没报太大期望,咱还是相信CSDN,如果哪个大牛能解释清楚,可以顺道去把百度积分也领了: http://zhidao.baidu.com/question/528633834

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧