Spring JMX级联/联合

时间:2013-10-08 15:31:50

标签: java spring jmx mbeans

我在Spring 3.2下运行了一个webapp并暴露了一个MBeanServer。 然而,这个webapp可以通过不同的VM运行,因此在不同的VM上有多个JVM实例。

我想在每个MBeanServer实例上修改MBean,我知道有一个级联/联合 JMX的概念,但我没有找到任何使用Spring实现它的东西。

那么有一种方法可以轻松地联合spring MBeanServer吗?主要目标是在每个“前端”上修改MBean。

1 个答案:

答案 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中一些级联的示例屏幕截图:

enter image description here

文档可用here。 我还创建了一个Maven友好的OpenJDMK构建here,如果这种事情对你有用的话。 (Sonatype Nexus也提供了各种不同的分叉构建。)

** =====更新===== **

是的,抱歉。看起来OpenJDMK网站最近被忽视了。

以下是User Guide的链接,以及Cascading chapter的快捷方式。 这是指向Tutorial的链接,以及Cascading的快捷方式。

本教程提供了不错的代码示例选择。