2011-02-03 14 views
5

Para una biblioteca Java simple que realiza operaciones en intervalos constantes, he implementado la administración JMX usando MXBeans y funciona como esperaba, puedo consultar el estado y establecer parámetros, superar/reanudar operaciones, etc. en JConsole.¿Cómo debo acceder a un JMX MBeanServer que se ejecuta en la misma máquina virtual?

Ahora me gustaría crear una aplicación web: para visualizar y controlar el funcionamiento de la biblioteca.

No sé si es una buena idea usar samy JMX API también en la aplicación web, entonces necesito una forma de acceder a los MXBeans que están registrados en la misma máquina virtual utilizando la plataforma MBean Server:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

Me di cuenta de que MBeanServer tiene un método queryMBeans. ¿Debo usar este método para acceder a los MXBeans registrados de JMX API? Hay una ruta diferente, utilizando JMXConnectorFactory, que requiere información de protocolo, host y puerto para que el cliente pueda acceder a un servidor JMX remoto.

Respuesta

11

Si solo desea acceder al MBeanServer en la misma JVM, entonces ManagementFactory.getPlatformMBeanServer(); es la manera de hacerlo.

JMXConnectorFactory es para acceder a MBeanServers remotos (es decir, en una JVM diferente y/o en un host diferente).

Cuestiones relacionadas