Ped*_*roD 6 java jmx rmi visualvm jvisualvm
我已经尝试了书中的每一个食谱,但今天的事情都不会奏效......
我正在尝试使用VisualVM来配置我在远程服务器上运行的Java应用程序,所以我用Google搜索并用Google搜索并搜索了这样做的方法,我最终得到了这个解决方案:
java -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9199 \
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar bin/felix.jar
Run Code Online (Sandbox Code Playgroud)
运行这个会让我JMX运行我猜,所以我可以看到他在9199运行:
java 21947 root 9u IPv6 1811434 0t0 TCP *:7192 (LISTEN)
java 26376 root 14u IPv6 1844518 0t0 TCP *:9199 (LISTEN)
Run Code Online (Sandbox Code Playgroud)
此外,我可以测试该端口在Web上是否可见:

现在,当我尝试在我的机器中打开VisualVM中的连接(也可以ping jmx服务器)时,会发生这种情况:



我一定是如此愚蠢,以至于这个世界上的每个人都能把这个东西运转起来但是我.该死的...
编辑:我安装了wireshark来了解引擎盖下发生了什么,所以我看到了这个.一旦我在VisualVM中添加远程IP,wireshark就开始检测这个重复的活动:

但是,如果我尝试添加新的JMX连接并要求他连接,则wireshark甚至不会抓取该连接尝试的单个数据包.

在我看来VisualVM甚至没有尝试连接,尽管给出错误消息"无法连接"...... !! 这到底是怎么回事?
小智 8
使用以下选项启动您的服务:
-Djava.rmi.server.hostname=193.163.XXX.XXX
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9199
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)
然后你可以使用jvisualvm或jconsole只有"193.163.XXX.XXX:9199"地址.
| 归档时间: |
|
| 查看次数: |
13069 次 |
| 最近记录: |