Jacoco jmx 转储,连接重置错误
Jacoco jmx dump, Connection reset error
我 运行宁 tomcat 有这样的 jacoco 代理:
-javaagent:/path_to_jar/jacocoagent.jar=jmx=true,output=tcpclient,port=8001
我知道这是有效的,因为 lsof 命令列出了 88208 TCP localhost:**8001** (LISTEN)
.
当我 运行 这个例子 code 和 PORT = 8001;
我得到错误:
Exception in thread "main" java.net.SocketException: Connection reset
这似乎是来自 jacoco 的旧示例。我需要访问 tcp 服务器的方式有什么变化吗?我还尝试通过他们的 MBeanClient 访问 jacoco,但它给了我一个 InstanceNotFoundException 并且当我打印出所有域时,似乎 tomcat 没有将 "org.jacoco:type=Runtime" 列为 bean。
对这两个选项有什么建议吗?我只需要能够在不停止服务器的情况下获取转储文件。
事实证明我在启动服务器时需要更多 java 个参数:
-Dcom.sun.management.jmxremote.port=9999"
-Dcom.sun.management.jmxremote.ssl=false"
-Dcom.sun.management.jmxremote.authenticate=false"
没有这些 JMX 就无法在我的本地主机上将 jacoco 视为一个 bean。
(这也适用于 glassfish,但需要使用 <jvm-options>
进行设置)
我 运行宁 tomcat 有这样的 jacoco 代理:
-javaagent:/path_to_jar/jacocoagent.jar=jmx=true,output=tcpclient,port=8001
我知道这是有效的,因为 lsof 命令列出了 88208 TCP localhost:**8001** (LISTEN)
.
当我 运行 这个例子 code 和 PORT = 8001;
我得到错误:
Exception in thread "main" java.net.SocketException: Connection reset
这似乎是来自 jacoco 的旧示例。我需要访问 tcp 服务器的方式有什么变化吗?我还尝试通过他们的 MBeanClient 访问 jacoco,但它给了我一个 InstanceNotFoundException 并且当我打印出所有域时,似乎 tomcat 没有将 "org.jacoco:type=Runtime" 列为 bean。
对这两个选项有什么建议吗?我只需要能够在不停止服务器的情况下获取转储文件。
事实证明我在启动服务器时需要更多 java 个参数:
-Dcom.sun.management.jmxremote.port=9999"
-Dcom.sun.management.jmxremote.ssl=false"
-Dcom.sun.management.jmxremote.authenticate=false"
没有这些 JMX 就无法在我的本地主机上将 jacoco 视为一个 bean。
(这也适用于 glassfish,但需要使用 <jvm-options>
进行设置)