我在Spring 3.2下运行了一个webapp并暴露了一个MBeanServer。 然而,这个webapp可以通过不同的VM运行,因此在不同的VM上有多个JVM实例。
我想在每个MBeanServer实例上修改MBean,我知道有一个级联/联合 JMX的概念,但我没有找到任何使用Spring实现它的东西。
那么有一种方法可以轻松地联合spring MBeanServer吗?主要目标是在每个“前端”上修改MBean。
答案 0 :(得分:0)
JDMK(现在可用OpenJDMK)实现MBean Cascading。基本上,这意味着一系列单独的MBeanServers(在不同的JVM中,但不是唯一的)在一个中央MBeanServer内“重新表面”。例如,您可能在5个单独的JVM(A..E)中有一个名为 java.lang:type = GarbageCollector,name = PS MarkSweep 的GarbageCollector MXBean。中央控制台将拥有自己的实例,然后您还会看到在同一个MBeanServer中注册的另外5个实例,其名称如下:
- //JVM-A/java.lang:type=GarbageCollector,name=PS MarkSweep
- ....
- //JVM-E/java.lang:type=GarbageCollector,name=PS MarkSweep
以下是我的JConsole中一些级联的示例屏幕截图:
文档可用here。 我还创建了一个Maven友好的OpenJDMK构建here,如果这种事情对你有用的话。 (Sonatype Nexus也提供了各种不同的分叉构建。)
** =====更新===== **
是的,抱歉。看起来OpenJDMK网站最近被忽视了。
以下是User Guide的链接,以及Cascading chapter的快捷方式。 这是指向Tutorial的链接,以及Cascading的快捷方式。
本教程提供了不错的代码示例选择。