本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看 活动链接
Q:
我在监视远程 Tomcat 进程时遇到问题。我正在尝试使用 JConsole / JVisualVM 的 Java 6 版本。
我已经使用适当的安全策略在远程服务器上运行了 jstatd。该过程已启动,并且 TCP 连接可用。
当我尝试通过JConsole连接时,出现 'Connection Failed:jmxrmi'
当我尝试通过 VisualVM 连接时,我添加了主机名,并且右键单击选项是 Add JMX Connection
。从文档中我还不清楚这是否就是我期望看到的。当我尝试连接时,我得到:
'Cannot connect using service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi'.
复制代码
因此,文档建议我只需要远程运行 jstatd 即可在 VisualVM 中进行监视,而 UI 则要求使用 jmxrmi。那些都一样吗?我尝试使用 jmx rmi 选项设置 tomcat,但我也超时,尽管我知道这不是防火墙问题。
如果有人成功以这种方式连接了远程 Tomcat 流程,并且可以描述如何完成,那将对我有很大帮助。
A:
通常,您需要确保在 JAVA_OPTS
中指定服务器的IP地址。
否则,似乎 JMX 将向客户端发送回指令,以在另一个端口上重新连接到服务器,并且如果它没有提供客户端的 ip 地址,则连接将失败。
为此的参数是:
-Djava.rmi.server.hostname=1.2.3.4
复制代码
您可以在安装过程的本教程中找到更多详细信息。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END