Tomcat:从webapp中监听服务器生命周期事件

时间:2016-07-17 01:39:32

标签: java tomcat

我想在我的webapp中听tomcat生命周期事件。我尝试了以下代码

try {
    MBeanServer mBeanServer = MBeanServerFactory.findMBeanServer(null).get(0);
    ObjectName name = new ObjectName("Catalina", "type", "Server");
    Server server = (Server) mBeanServer.getAttribute(name, "managedResource");
    server.addLifecycleListener(new LifecycleListener() {
        @Override
        public void lifecycleEvent(LifecycleEvent event) {
            logger.info("lifecycle listener called. event: " + event.getType());
        }
    });
} catch (Exception e) {
    //log error
}

我可以成功获取Server对象并注册lifecyle事件,但代码不会收到任何生命周期事件。

我通过遍历它们检查了Server对象中所有服务和连接器的状态,并且有些组件处于STARTING状态。所以,我应该收到他们的STARTED事件。

任何人都知道出了什么问题?

0 个答案:

没有答案