2010-10-13 16 views
8

Qualcuno può, per favore, chiarire quali sono le differenze tra i due?ManagementFactory.getPlatformMBeanServer() vs MBeanServerFactory.createMBeanServer()

Il Javadoc è davvero oscuro per la mia corretta comprensione.

Una cosa che ho notato è che se uso ManagementFactory.getPlatformMBeanServer() per registrare i miei MBean, posso visualizzarli in Jconsole. Ma non così se uso MBeanServerFactory.createMBeanServer().

Perché è quello? È questa l'unica differenza?

Grazie.

risposta

7

ManagementFactory.getPlatformMBeanServer() restituisce un riferimento al server MBean esistente all'interno della JVM. JConsole esamina i bean su quel server.

Se si utilizza createMBeanServer(), verrà creato un server completamente nuovo. JConsole non ne è a conoscenza e quindi non vedrà i bean registrati con esso.