有人可以澄清两者之间的差异吗?
Javadoc对我的理解非常模糊。
我注意到的一件事是,如果我使用ManagementFactory.getPlatformMBeanServer()
来注册我的MBean,我可以在Jconsole中查看它们。但是,如果我使用MBeanServerFactory.createMBeanServer()
,则不是这样。
为什么?这是唯一的差异吗?
感谢。
答案 0 :(得分:7)
ManagementFactory.getPlatformMBeanServer()
返回对JVM中现有MBean服务器的引用。 JConsole查看该服务器上的bean。
如果您使用createMBeanServer()
,那将创建一个全新的服务器。 JConsole不知道它,所以不会看到bean注册它。