ManagementFactory.getPlatformMBeanServer () против MBeanServerFactory.createMBeanServer () - PullRequest
8 голосов
/ 13 октября 2010

Может кто-нибудь уточнить, в чем разница между ними?

Javadoc действительно неясен для моего правильного понимания.

Одна вещь, которую я заметил, - если я использую ManagementFactory.getPlatformMBeanServer() для регистрации своих MBeans, я могу просматривать их в Jconsole. Но не так, если я использую MBeanServerFactory.createMBeanServer().

Почему это? Это единственная разница?

Спасибо.

1 Ответ

7 голосов
/ 13 октября 2010

ManagementFactory.getPlatformMBeanServer() возвращает ссылку на существующий сервер MBean в JVM.JConsole просматривает компоненты на этом сервере.

Если вы используете createMBeanServer(), это создаст совершенно новый сервер.JConsole не знает об этом, и поэтому не будет видеть бины, зарегистрированные в нем.

...