我应该如何使用JMX监控tomcat上的web应用程序?

我应该如何使用JMX监控tomcat上的web应用程序?,tomcat,jmx,Tomcat,Jmx,我想使用JMX监控在tomcat下运行的web应用程序 我不想只使用Tomcat的内置JMX实现,我想为实际的Web应用程序实现一个mbean,这样我就可以获得有关特定于应用程序的设置的信息并监视它 web应用程序和在线监视的问题在于,web应用程序并不总是处于活动状态,而是被“唤醒”以处理服务器的请求,因此监视它们不仅仅是像正常运行的进程那样使用JMX 如何让Tomcat在后台运行应用程序(比如单例),以便我可以随时连接到它 有没有一种方法可以做到这一点,这是常见的,我不知道 谢谢 在应用程序

我想使用JMX监控在tomcat下运行的web应用程序

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

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

如何让Tomcat在后台运行应用程序(比如单例),以便我可以随时连接到它

有没有一种方法可以做到这一点,这是常见的,我不知道


谢谢

在应用程序中,部署应用程序时,您需要向MBean服务器注册MBean。在部署web应用程序时,MBean将公开。我曾在Tomcat中使用过,但在没有Spring的情况下,也有一些方法可以做到这一点。

您可以创建一个实现
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>

com.example.ServerListener

如果您熟悉Nagios,并且您的公司正在使用它,那么这可能是一个更好的选择

这些插件看起来确实有用


否则,正如@teabot所说,使用SpringJMX支持。非常简单。

看起来不错。我现在要试试这个。我要试试这个-。希望这能奏效。