一尘不染

如何管理JMX Web应用程序

tomcat

我已经完成了页面上的过程,以暴露Web应用程序的JMX界面。

我设法查看了Tomcat JMX代理上的公开接口,但是当我加载JConsole并查找公开的mbean接口时,我找不到与公开的属性和操作相关的任何内容。

在Web应用程序的jconsole上没有特定的条目,因此我认为它可能在TOMCAT jmx条目下。不是。(请记住,我确实在tomcat
jmx代理页面上看到了它)。

如何在本地管理我的Web应用程序?JConsole为什么不显示它?


阅读 265

收藏
2020-06-16

共1个答案

一尘不染

我已经通过执行一些基本步骤来解决此问题-

  1. 在webapp上下文侦听器contextInitialized方法中,我实例化了一个将运行并实现mbean的单例类(servlet本身无法实现mbean,因为它仅醒来以接受来自服务器的请求)。
  2. Servlet“通知”我们要监视的每个操作的单例,而单例实际上是通过jmx报告此操作的单例。
  3. 在单例中,我使用以下命令在mbean服务器上注册:

ManagementFactory.getPlatformMBeanServer()。registerMBean(this,name);

而已。(简而言之)

2020-06-16