我无法通过 jconsole 连接到具有 IPv6 地址的 JMX 服务 URL。我试过了
service:jmx:rmi:///jndi/rmi://[fd02:c9e3:a6c0:4306:0:0:0:27]:5500/jmx
我明白了
Connection did not succeed to ..
至于一些背景,
- > 我正在从我的 Windows 7 机器上运行 jconsole 并连接到 linux 上的 jmx 服务器。
- > jmx 服务器是 dual stacked Redhat linux box,我可以使用 IPv4 地址通过 jconsole 进行连接。
- > 不确定这是否相关,我尝试连接的主机有 2 个网络接口(interface),其中一个仅用于管理目的。
最佳答案
好的,我添加了以下条件以将服务器主机地址括在方括号中。
if ( aHost instanceof Inet4Address ) {
this.hostAddress = aHost.getHostAddress();
}
else if ( aHost instanceof Inet6Address ) {
this.hostAddress = "[" + aHost.getHostAddress() + "]";
}
else {
throw someException();
}
.............some other stuff.................
registry = LocateRegistry.getRegistry( this.hostAddress, ... );
事实上,主机地址在属性文件中指定为名称值对。因此我本可以像下面那样做,但由于其他原因它不起作用。
.properties 文件
主机名 = [fd02:c9e3:a6c0:4306:0:0:0:27]
关于java - 连接到 ipv6 JMX 服务 URL 的 jconsole,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4865976/