没有明显原因无法使用VisualVM连接JMX/RMI服务器

13

我在远程机器上使用以下命令启动了我的OSGi应用程序:

java -Dcom.sun.management.jmxremote \
  -Dcom.sun.management.jmxremote.port=8080 \
  -Dcom.sun.management.jmxremote.local.only=false \
  -Dcom.sun.management.jmxremote.authenticate=false \
  -Dcom.sun.management.jmxremote.ssl=false \
  -jar bin/felix.jar

在我的本地机器上,我有VisualVM,试图连接到远程JVM实例:

输入图像描述

输入图像描述

输入图像描述

我错过了什么?

谢谢!


当您尝试连接JVM时,您的JVM是否已经启动并运行? - SMA
默认情况下,jmx连接器侦听器绑定到本地主机接口。 - Nicholas
我使用上面发布的命令启动Java,然后尝试使用VisualVM连接,如您所见。如果我在同一台机器上启动Java并且拥有VisualVM,则它会立即检测到JVM实例,因此我无法理解为什么远程连接失败,尽管在本地我不需要放置那些-Dcom标志。 - user3926784
@Nicholas,你是什么意思?我需要改变什么才能让它工作? - user3926784
11
尝试添加-Djava.rmi.server.hostname=sb-prd.tagus.ist.utl.pt(或您的远程服务器主机名),以获得更多信息,请参见例如https://dev59.com/hHVC5IYBdhLWcg3w51hv - Klara
如果服务器具有动态IP怎么办?这个选项应该没有任何影响...不过我还是会尝试一下。 - user3926784
1个回答

7

@Klara的评论救了我的一天!!修复了我与jstad的连接。

jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.hostname=hostname-goes-here &

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接