jconsole连接到ipv6 JMX服务URL

时间:2011-02-01 17:38:41

标签: java remoting jmx ipv6

我无法通过jconsole连接到具有IPv6地址的JMX服务URL。我试过了

service:jmx:rmi:///jndi/rmi://[fd02:c9e3:a6c0:4306:0:0:0:27]:5500/jmx  

我得到了

  

连接没有成功..

至于某些背景,

  • 我从Windows 7机箱运行jconsole并连接到linux上的jmx服务器。
  • jmx服务器是一个dual stacked Redhat linux盒子,我可以使用IPv4地址通过jconsole连接。
  • 不确定这是否相关,我尝试连接的主机有2个网络接口,其中一个仅用于管理目的。

1 个答案:

答案 0 :(得分:1)

好的,我添加了以下条件,将服务器主机地址包装在方括号中。

    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文件

hostName = [fd02:c9e3:a6c0:4306:0:0:0:27]