The JDMK (now available as OpenJDMK) implements MBean Cascading. Basically, this means that a series of individual MBeanServers (in different JVMs, but not exclusively) are "resurfaced" inside of one central MBeanServer. For example, you might have a GarbageCollector MXBean called java.lang:type=GarbageCollector,name=PS MarkSweep in 5 seperate JVMs (A..E). The central console would have its own instance and then you would also see 5 additional instances registered in the same MBeanServer named something like:
- //JVM-A/java.lang:type=GarbageCollector,name=PS MarkSweep
- ....
- //JVM-E/java.lang:type=GarbageCollector,name=PS MarkSweep
Here's an example screenshot of some cascades in my JConsole:
The documentation is available here. I also created a Maven friendly OpenJDMK build here, if that sort of thing is useful to you. (There's various different forked builds available on Sonatype Nexus too.)
** ===== UPDATE ===== **
Yeah, sorry about that. Looks like the OpenJDMK web site has been neglected of recent.
Here's a link to the User Guide, and a shortcut to the Cascading chapter. Here's a link to the Tutorial, and a shortcut to the Cascading.
The tutorial has a decent selection of code samples.