2010-10-13 19 views
8

任何人都可以請澄清兩者之間的區別是什麼?ManagementFactory.getPlatformMBeanServer()與MBeanServerFactory.createMBeanServer()

對於我的正確理解,Javadoc真的很隱晦。

我注意到的一件事是,如果我使用ManagementFactory.getPlatformMBeanServer()來註冊我的MBean,我可以在Jconsole中查看它們。但是,如果我使用MBeanServerFactory.createMBeanServer()則不是這樣。

這是爲什麼?這是唯一的區別嗎?

謝謝。

回答

7

ManagementFactory.getPlatformMBeanServer()返回對JVM中現有MBean服務器的引用。 JConsole查看該服務器上的bean。

如果您使用createMBeanServer(),那將創建一個全新的服務器。 JConsole不知道它,所以不會看到註冊的bean。