2011-02-01 18 views
3

jconsoleによってIPv6アドレスを持つJMXサービスのURLに接続する際に問題があります。私はipv6に接続するjconsole JMXサービスのURL

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

を試してみましたが、私は

接続は、

  • をいくつかの背景についての..

を成功しませんでした取得私は自分からJConsoleを実行していますWindows 7のボックスを開き、Linuxのjmxサーバーに接続します。

  • jmxサーバーはdual stacked Redhat Linuxボックスで、IPv4アドレスを使用してjconsoleに接続できます。
  • これが適切かどうかわかりません。接続しようとしているホストに2つのネットワークインターフェイスがあり、そのうちの1つが管理目的でのみ使用されています。
  • +0

    を確認し、サーバー上の認証クライアントのセットアップまたは無効を持っています? – Pace

    +0

    あなたは実際にjmx接続のためにIPv6ソケットでアプリケーションをリッスンしますか? –

    +0

    基本的な接続性を確認しましたか?コマンドプロンプトから '' telnet fd02:c9e3:a6c0:4306:0:0:0:27 5500'コマンドを実行して、 '' ping fd02:c9e3:a6c0:4306:0:0:0:開いています(そうでない場合は、「接続が拒否されました」と表示されます)。 Telnetは 'コントロールパネル>プログラムと機能> Windowsの機能を有効または無効にする> Telnetクライアント 'を使ってインストールできます。 – mpontillo

    答えて

    1

    [OK]次の条件を追加して、サーバーホストアドレスを角かっこで囲みます。実際に

    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]ジャスト

    +0

    これは実際には間違っています。[[]]は[RFC2732] [1]に従ってURLに必要ですが、ホスト名の一部ではありません。 [1]:http://tools.ietf.org/html/rfc2732 – ankon

    関連する問題