1

我已经完成了页面上的流程以公开 Web 应用程序的 JMX 接口。

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

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

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

4

1 回答 1

3

我已经通过几个基本步骤设法解决了这个问题 -

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

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

就是这样。(简而言之)

于 2009-11-16T07:40:09.770 回答