为现有 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文件

如何将侦听器添加到 osx 上的 java 停靠图标

Java:SSH 隧道 - 将本地 SOCKS 设置为侦听器

《Java Swing》第4节:事件处理与监听器

动态表单 Zebra Datepicker 的事件侦听器

java 添加滚动侦听器以进行无限加载