【问题标题】:How to manage a JMX web application如何管理 JMX Web 应用程序
【发布时间】:2009-08-20 14:10:26
【问题描述】:

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

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

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

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

【问题讨论】:

  • Tomcat 的哪个版本,Java 的哪个版本?
  • java 1.6 和 tomcat 6.0
  • 我已经做到了。我正在写一篇关于它的帖子,一旦完成就会发布。

标签: java tomcat jmx


【解决方案1】:

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

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

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

就是这样。 (简而言之)

【讨论】:

  • 当您必须部署到集群时,您的设计如何工作(因为您依赖于单例...)?
  • 好电话。实际上,我的同事正在努力使这个解决方案成为一个集群友好的解决方案。有信息我会更新的。
猜你喜欢
  • 1970-01-01
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-20
  • 2020-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多