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
内の英字の大文字と小文字が区別されます。
コンストラクタと説明 |
---|
JMXServiceURL(String serviceURL)
サービス URL 文字列を解析して
JMXServiceURL を作成します。 |
JMXServiceURL(String protocol, String host, int port)
指定されたプロトコル、ホスト、およびポートで
JMXServiceURL を作成します。 |
JMXServiceURL(String protocol, String host, int port, String urlPath)
指定された部分で、
JMXServiceURL を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean |
equals(Object obj)
このオブジェクトと同等のオブジェクトがあるかどうかを示します。
|
String |
getHost()
サービス URL のホスト部分です。
|
int |
getPort()
サービス URL のポートです。
|
String |
getProtocol()
サービス URL のプロトコル部分です。
|
String |
getURLPath()
サービス URL の URL パス部分です。
|
int |
hashCode()
オブジェクトのハッシュコード値を返します。
|
String |
toString()
このサービス URL の文字列表現です。
|
public JMXServiceURL(String serviceURL) throws MalformedURLException
サービス URL 文字列を解析して JMXServiceURL
を作成します。
serviceURL
- 構文解析される URL 文字列。NullPointerException
- serviceURL
が null である場合。MalformedURLException
- serviceURL
が抽象サービス URL の構文に準拠していない場合、または JMX リモート API サービスの有効な名前でない場合。JMXServiceURL
の先頭文字列は "service:jmx:"
(大文字と小文字の区別なし) である必要がある。印刷可能 ASCII 文字以外の文字を含めることはできない。public JMXServiceURL(String protocol, String host, int port) throws MalformedURLException
指定されたプロトコル、ホスト、およびポートで JMXServiceURL
を作成します。このコンストラクタは JMXServiceURL(protocol, host, port, null)
と同等です。
protocol
- URL のプロトコル部分。null の場合、デフォルトの jmxmp
になる。host
- URL のホスト部分。null の場合、InetAddress.getLocalHost().getHostName()
で確認されたローカルホスト名 (デフォルト) になる。IPv6 数値アドレスの場合、オプションとして角括弧 []
で囲むことができる。port
- URL のポート部分。MalformedURLException
- 構文が正しくない部分が存在する場合、host
が null でローカルホスト名を検出できない場合、または port
が負の値の場合。public JMXServiceURL(String protocol, String host, int port, String urlPath) throws MalformedURLException
指定された部分で、JMXServiceURL
を作成します。
protocol
- URL のプロトコル部分。null の場合、デフォルトの jmxmp
になる。host
- URL のホスト部分。null の場合、InetAddress.getLocalHost().getHostName()
で確認されたローカルホスト名 (デフォルト) になる。IPv6 数値アドレスの場合、オプションとして角括弧 []
で囲むことができる。port
- URL のポート部分。urlPath
- URL の URL パス部分。null の場合、空文字列になる。MalformedURLException
- 構文が正しくない部分が存在する場合、host
が null でローカルホスト名を検出できない場合、または port
が負の値の場合。public String getProtocol()
サービス URL のプロトコル部分です。
public String getHost()
サービス URL のホスト部分です。このサービス URL が、URL 文字列パラメータを取るコンストラクタで作成されたものである場合、結果は、この URL 内のホストを指定するサブ文字列に一致します。このサービス URL が、個別のホストパラメータを取るコンストラクタで作成されたものである場合、結果は、指定された文字列に一致します。この文字列が null であった場合、結果は、InetAddress.getLocalHost().getHostName()
になります。
いずれの場合も、ホストが IPv6 数値アドレスの [...]
構文で指定されていた場合、ここでの戻り値に角括弧は含まれません。
public int getPort()
サービス URL のポートです。ポートが指定されなかった場合、戻り値は 0 です。
public String getURLPath()
サービス URL の URL パス部分です。これは、空文字列、スラッシュ (/
) で始まる文字列、またはセミコロン (;
) で始まる文字列です。
public String toString()
public boolean equals(Object obj)
このオブジェクトと同等のオブジェクトがあるかどうかを示します。このメソッドは、obj
が、このオブジェクトと同じ値を返す getProtocol()
、getHost()
、getPort()
、および getURLPath()
メソッドを持つ JMXServiceURL
のインスタンスである場合にかぎり、true を返します。getProtocol()
および getHost()
の値の大文字と小文字は区別されません。
equals
、クラス: Object
obj
- 比較対象の参照オブジェクト。obj
引数と同じである場合は true
、それ以外の場合は false
。Object.hashCode()
、HashMap
public int hashCode()
Object
HashMap
によって提供されるハッシュテーブルなどの、ハッシュテーブルの利点のためにサポートされています。
hashCode
の一般的な規則は次のとおりです。
equals
の比較で使用される情報が変更されていなければ、hashCode
メソッドは常に同じ整数を返す必要があります。ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
equals(Object)
メソッドに従って 2 つのオブジェクトが等しい場合は、2 つの各オブジェクトに対する hashCode
メソッドの呼び出しによって同じ整数の結果が生成される必要があります。
Object.equals(java.lang.Object)
メソッドに従って 2 つのオブジェクトが等しくない場合は、2 つの各オブジェクトに対する hashCode
メソッドの呼び出しによって異なる整数の結果が生成される必要はありません。ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュテーブルのパフォーマンスが向上する可能性があることに注意するようにしてください。
クラス Object
によって定義された hashCode メソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックは JavaTM プログラミング言語では必要ありません。)
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.