Добавить JMXMP слушатель для существующего приложения Java

Мне нужно добавить слушатель JMXMP в существующее приложение Java без изменения кода. Классический протокол на основе RMI не работает в целевой среде по отношению к ограничениям брандмауэра.

Другими словами: я хотел бы получить доступ к JMX процесса, просто добавив jmx_remote-option к classpath и некоторые свойства env, аналогичные com.sun.management.jmxremote для соединителя RMI.

Я не смог найти ничего в различных документах - мне удалось использовать JMXMP в целевой среде env с Tomcat (добавив LifecycleEventListener, который читает порт из конфигурации) и другую программу, где я явно запустил слушатель.

1 ответ

Взгляните на мой проект github JMXMPAgent. Документы немного легки, но предпосылка проста.

  1. Клон репо
  2. Сборка с чистой установкой mvn
  3. Установите агент в работающую 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

Другие вопросы по тегам