为现有 Java 应用程序添加 JMXMP 侦听器
Posted
技术标签:
【中文标题】为现有 Java 应用程序添加 JMXMP 侦听器【英文标题】:Add JMXMP listener for an existing Java application 【发布时间】:2016-01-18 08:43:37 【问题描述】:我需要向现有的 Java 应用程序添加一个 JMXMP 侦听器而不更改任何代码。经典的基于 RMI 的协议在目标环境中不起作用对防火墙的限制。
换句话说:我想通过将 jmx_remote-optional 添加到类路径和一些类似于 RMI 连接器的 com.sun.management.jmxremote 的 env 属性来访问进程的 JMX。
我在各种文档中找不到任何内容 - 我设法在目标环境中使用 JMXMP 和 Tomcat(添加一个从配置读取端口的 LifecycleEventListener)和另一个我显式启动侦听器的程序。
【问题讨论】:
【参考方案1】:看看我的github项目JMXMPAgent。文档有点轻,但前提很简单。
-
克隆回购
使用 mvn clean install 构建
使用目标 JVM 的 PID、所需的 JMXMP 侦听端口、绑定接口和目标 MBeanServer 默认域将代理安装到正在运行的 JVM 中,如下例所示。它假定一个 PID 和默认的 JMX 域。
java -jar 目标/helios-jmxmp-agent-1.0-SNAPSHOT.jar -install 11121 8334:127.0.0.1:DefaultDomain
【讨论】:
以上是关于为现有 Java 应用程序添加 JMXMP 侦听器的主要内容,如果未能解决你的问题,请参考以下文章
java web app-为servlet上下文侦听器向web.xml添加内容后无法看到jsp文件