ManagementFactory.getPlatformMBeanServer()vs MBeanServerFactory.createMBeanServer()

时间:2010-10-13 14:25:11

标签: java jmx jconsole mbeans

有人可以澄清两者之间的差异吗?

Javadoc对我的理解非常模糊。

我注意到的一件事是,如果我使用ManagementFactory.getPlatformMBeanServer()来注册我的MBean,我可以在Jconsole中查看它们。但是,如果我使用MBeanServerFactory.createMBeanServer(),则不是这样。

为什么?这是唯一的差异吗?

感谢。

1 个答案:

答案 0 :(得分:7)

ManagementFactory.getPlatformMBeanServer()返回对JVM中现有MBean服务器的引用。 JConsole查看该服务器上的bean。

如果您使用createMBeanServer(),那将创建一个全新的服务器。 JConsole不知道它,所以不会看到bean注册它。