一尘不染

我应该如何使用JMX在tomcat上监视Web应用程序?

tomcat

我想使用JMX监视在tomcat下运行的Web应用程序。

我不想只使用Tomcat的内置JMX实现,而是想为实际的Web应用程序实现一个mbean,这样我就可以获得有关特定于应用程序的设置的信息并对其进行监视。

Web应用程序和在线监视的问题在于Web应用程序并不总是处于活动状态,而是被“唤醒”以处理服务器的请求,因此监视它们不仅像我在正常运行的过程中那样插入JMX。

如何使Tomcat在后台运行应用程序(如Singleton),以便我可以随时连接到它?

有什么方法可以做到这一点很常见,我还不知道吗?

谢谢!


阅读 213

收藏
2020-06-16

共1个答案

一尘不染

您可以创建一个实现ServletContextListener并在web.xml中加载该侦听器的类。

班级:

public class ServerListener implements ServletContextListener {

    public void contextDestroyed(ServletContextEvent pSce) {
    }

    public void contextInitialized(ServletContextEvent pSce) {
        // TODO Register MBean here.
    }
}

web.xml:

<listener>
  <listener-class>com.example.ServerListener</listener-class>
</listener>
2020-06-16