モジュール java.management
パッケージ javax.management.remote

クラスJMXServiceURL

  • すべての実装されたインタフェース:
    Serializable

    public class JMXServiceURL
    extends Object
    implements Serializable

    JMX APIコネクタ・サーバーのアドレスです。 このクラスのインスタンスは不変です。

    RFC 2609の定義およびRFC 3111での修正に従って、このアドレスがSLPの抽象サービスURLになります。 次のような形式になります。

    service:jmx:protocol:sap

    ここで、protocolはコネクタ・サーバーへの接続に使用する転送プロトコルです。 1文字以上のASCII文字から成る文字列であり、その各文字は、英字と数字の他、+-のいずれか1つです。 最初の文字は英字である必要があります。 英字の大文字は小文字に変換されます。

    sapは、コネクタ・サーバーが検出されたアドレスです。 このアドレスは、IPベースのプロトコルについて定義するRFC 2609の構文のサブセットを使用します。 サブセットである理由は、user@host構文がサポートされていないからです。

    このクラスは、現在、RFC 2609に定義されているその他の構文はサポートしません。

    サポートされている構文は次のとおりです。

    //[host[:port]][url-path]

    角括弧[]は、アドレスのオプション部分を示します。 プロトコルによっては、オプション部分が認識されない場合もあります。

    hostは、ホスト名、IPv4数値ホスト・アドレス、IPv6数値アドレスのいずれかで、角括弧で囲まれます。

    portは10進ポート番号です。プロトコルによって、0はデフォルトまたは匿名ポートを表します。

    hostおよびportは省略可能です。 portは必ずhostと共に指定します。

    url-path (存在する場合)は、スラッシュ(/)またはセミコロン(;)で始まり、アドレスの末尾まで続きます。 RFC 2609に指定されたセミコロン構文を使って、属性を含めることができます。 このクラスはこれらの属性を解析せず、属性構文が不正な場合も検出されません。

    RFC 2609によると、セミコロンで始まるurl-pathは正当なアドレスですが、SLPの実装の中には、これを許可しないものもあります。したがって、この構文の使用を避けることをお勧めします。

    初期service:jmx:protocol文字列や、アドレスのホスト部分では、英字は大文字でも小文字でもかまいません。 ただし、プロトコルによっては、url-path内の英字の大文字と小文字が区別されます。

    導入されたバージョン:
    1.5
    関連項目:
    RFC 2609Service Templates and Service: Schemes, RFC 3111Service Location Protocol Modifications for IPv6, 直列化された形式
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      JMXServiceURL​(String serviceURL)
      サービスURL文字列を解析してJMXServiceURLを作成します。
      JMXServiceURL​(String protocol, String host, int port)
      指定されたプロトコル、ホスト、およびポートでJMXServiceURLを作成します。
      JMXServiceURL​(String protocol, String host, int port, String urlPath)
      指定された部分で、JMXServiceURLを作成します。
    • コンストラクタの詳細

      • JMXServiceURL

        public JMXServiceURL​(String serviceURL)
                      throws MalformedURLException

        サービスURL文字列を解析してJMXServiceURLを作成します。

        パラメータ:
        serviceURL - 構文解析されるURL文字列。
        例外:
        NullPointerException - serviceURLがnullである場合。
        MalformedURLException - serviceURLが抽象サービスURLの構文に準拠していない場合、またはJMXリモートAPIサービスの有効な名前でない場合。 JMXServiceURLの先頭文字列は"service:jmx:" (大文字と小文字の区別なし)である必要がある。 印刷可能ASCII文字以外の文字を含めることはできない。
      • JMXServiceURL

        public JMXServiceURL​(String protocol,
                             String host,
                             int port)
                      throws MalformedURLException

        指定されたプロトコル、ホスト、およびポートでJMXServiceURLを作成します。 このコンストラクタはJMXServiceURL(protocol, host, port, null)と同等です。

        パラメータ:
        protocol - URLのプロトコル部分。 nullの場合、デフォルトのjmxmpになる。
        host - URLのホスト部分。 hostがヌルで、ローカル・ホスト名がIPに解決できる場合、ホストはInetAddress.getLocalHost().getHostName()で決定されるローカル・ホスト名にデフォルト設定されます。 hostがヌルで、ローカル・ホスト名がIPに解決できない場合、ホストはアクティブなネットワーク・インタフェースの1つの数値IPアドレスにデフォルト設定されます。 hostが数字のIPv6アドレスの場合、オプションで大カッコ[]で囲むことができます。
        port - URLのポート部分。
        例外:
        MalformedURLException - 構文が正しくない部分が存在する場合、hostがnullでローカル・ホスト名を検出できない場合、またはportが負の値の場合。
      • JMXServiceURL

        public JMXServiceURL​(String protocol,
                             String host,
                             int port,
                             String urlPath)
                      throws MalformedURLException

        指定された部分で、JMXServiceURLを作成します。

        パラメータ:
        protocol - URLのプロトコル部分。 nullの場合、デフォルトのjmxmpになる。
        host - URLのホスト部分。 hostがヌルで、ローカル・ホスト名がIPに解決できる場合、ホストはInetAddress.getLocalHost().getHostName()で決定されるローカル・ホスト名にデフォルト設定されます。 hostがヌルで、ローカル・ホスト名がIPに解決できない場合、ホストはアクティブなネットワーク・インタフェースの1つの数値IPアドレスにデフォルト設定されます。 hostが数字のIPv6アドレスの場合、オプションで大カッコ[]で囲むことができます。
        port - URLのポート部分。
        urlPath - URLのURLパス部分。 nullの場合、空文字列になる。
        例外:
        MalformedURLException - 構文が正しくない部分が存在する場合、hostがnullでローカル・ホスト名を検出できない場合、またはportが負の値の場合。
    • メソッドの詳細

      • getProtocol

        public String getProtocol()

        サービスURLのプロトコル部分です。

        戻り値:
        サービスURLのプロトコル部分。 nullは不可。
      • getHost

        public String getHost()

        サービスURLのホスト部分です。 このサービスURLが、URL文字列パラメータを取るコンストラクタで作成されたものである場合、結果は、このURL内のホストを指定するサブ文字列に一致します。 このサービスURLが、個別のホスト・パラメータを取るコンストラクタで作成されたものである場合、結果は、指定された文字列に一致します。 その文字列がNULLの場合、ローカル・ホスト名をIPに解決できる場合、結果はInetAddress.getLocalHost().getHostName()になります。 それ以外の有効なネットワーク・インタフェースの数値IPアドレスが使用されます。

        いずれの場合も、ホストがIPv6数値アドレスの[...]構文で指定されていた場合、ここでの戻り値に角括弧は含まれません。

        戻り値:
        サービスURLのホスト部分。 nullは不可。
      • getPort

        public int getPort()

        サービスURLのポートです。 ポートが指定されなかった場合、戻り値は0です。

        戻り値:
        サービスURLのポート。存在しない場合は0。
      • getURLPath

        public String getURLPath()

        サービスURLのURLパス部分です。 これは、空文字列、スラッシュ(/)で始まる文字列、またはセミコロン(;)で始まる文字列です。

        戻り値:
        サービスURLのURLパス部分。 nullは不可。
      • toString

        public String toString()

        このサービスURLの文字列表現です。 このメソッドによって返される値がJMXServiceURLコンストラクタに渡される場合、結果として、この文字列表現と同等のオブジェクトが生成されます。

        返される文字列のhost部分は、getHost()の戻り値に一致します。 この値がIPv6数値アドレスを指定する場合、角括弧[]で囲まれた形式になります。

        返される文字列のport部分は、getPort()によって返される一番短い10進形式の値です。 値が0の場合は省略されます。

        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このサービスURLの文字列表現。
      • equals

        public boolean equals​(Object obj)

        このオブジェクトと同等のオブジェクトがあるかどうかを示します。 このメソッドは、objが、このオブジェクトと同じ値を返すgetProtocol()getHost()getPort()、およびgetURLPath()メソッドを持つJMXServiceURLのインスタンスである場合にかぎり、trueを返します。 getProtocol()およびgetHost()の値の大文字と小文字は区別されません。

        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象の参照オブジェクト。
        戻り値:
        このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap