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、クラス: Objectobj - 比較対象の参照オブジェクト。obj引数と同じである場合はtrue、それ以外の場合はfalse。Object.hashCode()、HashMappublic int hashCode()
ObjectHashMapによって提供されるハッシュ・テーブルなどの、ハッシュ・テーブルの利点のためにサポートされています。
hashCodeの一般的な規則は次のとおりです。
equalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
equals(Object)メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって同じ整数の結果が生成される必要があります。
Object.equals(java.lang.Object)メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって異なる整数の結果が生成される必要はありません。ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ・テーブルのパフォーマンスが向上する可能性があることに注意するようにしてください。
クラスObjectによって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックはJava™プログラミング言語では必要ありません。)
hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.