Tomcat 7+ 中的容器级自定义 JXM MBean

Container level Custom JXM MBean in Tomcat 7+

我需要为 tomcat 服务器创建一个容器级 JMX MBean,以允许对一些自定义功能进行企业级监控。

我在网上找到的示例主要针对 webapp 级别的 MBean。我为 Tomcat 5 找到了几个例子,但看起来从那以后发生了很多变化。

如何为整个 Tomcat 实例注册 MBean?

Tomcat 已经有了用于监视内容的 MBean。您需要通过 CATALINA_OPTS 启用它,只需添加:

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port={port to access} 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false

然后通过 JConsole 或 VisualVM 连接到该端口。阅读 further.

我通过添加所需的描述符并在容器的 web.xml 中放置一个侦听器来解决。有必要测试这个场景中是否已经存在bean,因为容器中的每个应用程序都会调用监听器。