Добавить JMXMP слушатель для существующего приложения Java
Мне нужно добавить слушатель JMXMP в существующее приложение Java без изменения кода. Классический протокол на основе RMI не работает в целевой среде по отношению к ограничениям брандмауэра.
Другими словами: я хотел бы получить доступ к JMX процесса, просто добавив jmx_remote-option к classpath и некоторые свойства env, аналогичные com.sun.management.jmxremote для соединителя RMI.
Я не смог найти ничего в различных документах - мне удалось использовать JMXMP в целевой среде env с Tomcat (добавив LifecycleEventListener, который читает порт из конфигурации) и другую программу, где я явно запустил слушатель.
1 ответ
Взгляните на мой проект github JMXMPAgent. Документы немного легки, но предпосылка проста.
- Клон репо
- Сборка с чистой установкой mvn
- Установите агент в работающую JVM, используя PID целевой JVM, требуемый порт прослушивания JMXMP, интерфейс привязки и целевой домен по умолчанию MBeanServer, как в следующем примере. Предполагается PID и домен JMX по умолчанию.
java -jar target / helios-jmxmp-agent-1.0-SNAPSHOT.jar -install 11121 8334: 127.0.0.1: DefaultDomain