Как получить доступ к JMX MBeanServer, работающему на той же виртуальной машине? - PullRequest
7 голосов
/ 03 февраля 2011

Для простой библиотеки Java, которая выполняет операции с постоянными интервалами, я реализовал управление JMX с помощью MXBeans, и оно работает должным образом, я могу запросить состояние и задать параметры, приостановить / возобновить операции и т. Д. В JConsole.

Теперь я хотел бы создать веб-приложение - для отображения и управления работой библиотеки.

Я не знаю, хорошо ли было бы использовать samy JMX API также в веб-приложении, поэтому янужен способ доступа к MXBean-компонентам, зарегистрированным в той же виртуальной машине, с использованием платформы MBean Server:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer ();

Я заметил, что в MBeanServer есть метод queryMBeans,Должен ли я использовать этот метод для доступа к зарегистрированному JMX API MXBeans?Существует другой путь, использующий JMXConnectorFactory, который требует информацию о протоколе, хосте и порте, чтобы клиент мог получить доступ к удаленному серверу JMX.

1 Ответ

12 голосов
/ 03 февраля 2011

Если вы хотите получить доступ к MBeanServer только в той же JVM, тогда ManagementFactory.getPlatformMBeanServer(); - это способ сделать это.

JMXConnectorFactory для доступа к удаленным MBeanServers (т. Е. В другой JVM иили на другом хосте).

...