使用 JConsole 监控 Glassfish 时出现的问题

使用 JConsole 监控 Glassfish 时出现的问题

我已在远程 Glassfish 服务器上启用 JMX 连接,然后重新启动了它。在启动服务器期间收到通知:

Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://myserver:8686/jmxrmi] for domain management purposes.

端口 8686 已开放供连接。

但是我无法使用 JConsole 连接到服务器。它显示:连接失败。

我怎么解决这个问题?

提前致谢。

答案1

据我所知,JMX 使用 8686 作为 RMI 注册表的端口,但 JConsole 连接到该端口只是为了找到用于 JMX 服务器的端口,该端口是动态分配的。您可能遇到了防火墙阻止访问该其他端口的问题。您可以使用远程桌面程序连接到服务器,然后在本地(在服务器上)运行 JConsole 来验证这一点。如果可以连接,那么我敢打赌这就是您的问题。

希望这可以帮助...

答案2

解决方法是在GlassFish实例的JVM选项中添加-Djava.rmi.server.hostname=。

答案3

在 Windows 7 上我遇到了类似的问题,解决方案是在 domain.xml 中将 jmx-connector 上的地址更改为 127.0.0.1

相关内容