|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.management.remote.JMXConnectorServerFactory
public class JMXConnectorServerFactory
JMX API コネクタサーバを作成するファクトリです。このクラスのインスタンスは存在しません。
各コネクタサーバは、JMXConnectorServerProvider のインスタンスによって作成されます。このインスタンスの検出処理では、"service:jmx:protocol:remainder" に似た JMXServiceURL が指定されていると仮定して、ファクトリにより、protocol の適切な JMXConnectorServerProvider の検索が行われます。protocol に含まれる文字 + と - は、それぞれ . と _ で置き換えられます。
「プロバイダパッケージリスト」の検索手順は次のとおりです。
newJMXConnectorServer の environment パラメータにキー jmx.remote.protocol.provider.pkgs が含まれる場合、関連付けられている値がプロバイダパッケージリストになる
jmx.remote.protocol.provider.pkgs が存在する場合、その値がプロバイダパッケージリストになる
プロバイダパッケージリストは、縦棒 (|) で区切られた空でない Java パッケージ名のリストと解釈される文字列です。この文字列が空の場合、プロバイダパッケージリストも空になります。プロバイダパッケージリストが String でない場合、または空文字列を要素として含む場合、JMXProviderException がスローされます。
空でないプロバイダパッケージリストが存在する場合、ファクトリにより、リストの各 pkg 要素に対して、クラスのロードが試行されます。
pkg.protocol.ServerProvider
newJMXConnectorServer の environment パラメータにキー jmx.remote.protocol.provider.class.loader が含まれる場合、関連付けられた値がプロバイダをロードするためのクラスローダになります。関連付けられた値が ClassLoader のインスタンスでない場合は、IllegalArgumentException がスローされます。
environment パラメータ内に jmx.remote.protocol.provider.class.loader キーが含まれない場合、呼び出しスレッドのコンテンツクラスローダが使用されます。
このクラスのロード時に ClassNotFoundException がスローされた場合、ハンドラの検索はリスト内の次の要素に引き継がれます。
それ以外の場合、JMXProviderException により、検出されたプロバイダに関する問題が報告されます。この例外の cause は、次のように潜在的な例外を示します。
ClassNotFoundException 以外の例外がスローされた場合、これが cause になる
Class.newInstance() によって例外がスローされた場合、これが cause になる
プロバイダパッケージリストが存在しないデフォルト状態を含めて、上記の手順でプロバイダが検出されなかった場合、実装は protocol に対して固有のプロバイダを使用します。固有のプロバイダがない場合は、MalformedURLException をスローします。その他の方法でプロバイダを検索することもできます。たとえば、サービスインタフェースとして JMXConnectorServerProvider を使用するサービスプロバイダの JAR 規約がサポートされています。
すべての実装は、文字列 rmi または iiop で指定される RMI コネクタプロトコルをサポートしていなければなりません。
プロバイダが見つかった場合、newJMXConnectorServer メソッドの結果が、そのプロバイダ上で newJMXConnectorServer を呼び出した結果に一致します。
JMXConnectorServerProvider に渡された Map パラメータは、JMXConnectorServerFactory.newJMXConnectorServer の environment パラメータ内にあったすべてのエントリを含む、新しい読み取り専用 Map になります。さらに、environment パラメータ内に jmx.remote.protocol.provider.class.loader キーが存在しない場合、新しい読み取り専用 Map に追加されます。呼び出しスレッドのコンテキストクラスローダが値として関連付けられます。
| フィールドの概要 | |
|---|---|
static String |
DEFAULT_CLASS_LOADER
デフォルトのクラスローダを指定する属性の名前です。 |
static String |
DEFAULT_CLASS_LOADER_NAME
デフォルトのクラスローダ MBean 名を指定する属性の名前です。 |
static String |
PROTOCOL_PROVIDER_CLASS_LOADER
プロトコルプロバイダをロードするクラスローダを指定する属性の名前です。 |
static String |
PROTOCOL_PROVIDER_PACKAGES
プロトコルハンドラの検索時に照会されるプロバイダパッケージを指定する属性の名前です。 |
| メソッドの概要 | |
|---|---|
static JMXConnectorServer |
newJMXConnectorServer(JMXServiceURL serviceURL,
Map<String,?> environment,
MBeanServer mbeanServer)
指定されたアドレスのコネクタサーバを作成します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final String DEFAULT_CLASS_LOADER
デフォルトのクラスローダを指定する属性の名前です。このクラスローダは、MBean 固有のクラスローダの照会後 (任意)、クライアントから受信した要求に含まれるオブジェクトを直列化復元するために使用されます。この属性には、値として ClassLoader のインスタンスが関連付けられます。
public static final String DEFAULT_CLASS_LOADER_NAME
デフォルトのクラスローダ MBean 名を指定する属性の名前です。このクラスローダは、MBean 固有のクラスローダの照会後 (任意)、クライアントから受信した要求に含まれるオブジェクトを直列化復元するために使用されます。この属性には、値として ObjectName のインスタンスが関連付けられます。
public static final String PROTOCOL_PROVIDER_PACKAGES
プロトコルハンドラの検索時に照会されるプロバイダパッケージを指定する属性の名前です。この属性には、値として、縦棒 (|) で区切られたパッケージ名から成る文字列が関連付けられます。
public static final String PROTOCOL_PROVIDER_CLASS_LOADER
プロトコルプロバイダをロードするクラスローダを指定する属性の名前です。この属性には、値として、ClassLoader のインスタンスが関連付けられます。
| メソッドの詳細 |
|---|
public static JMXConnectorServer newJMXConnectorServer(JMXServiceURL serviceURL,
Map<String,?> environment,
MBeanServer mbeanServer)
throws IOException
指定されたアドレスのコネクタサーバを作成します。作成されたサーバは、start メソッドが呼び出されるまで起動しません。
serviceURL - 新しいコネクタサーバのアドレス。getAddress メソッドによって返される新しいコネクタサーバの実際のアドレスは、厳密に同じであるとは限らない。たとえば、元のアドレスに含まれていないポート番号が含まれている場合があるenvironment - 新しいコネクタサーバの動作を制御する属性のセット。このパラメータは null でもよい。このマップ内のキーは String でなければならない。関連付けられた個々の値に適した型は、この属性によって決定される。この呼び出しが environment を変更することはないmbeanServer - このコネクタサーバの接続先 MBean サーバ。このコネクタサーバを MBean サーバに登録することによって MBean サーバに接続する場合は null
JMXConnectorServer。このメソッドが正常に呼び出されると、そのたびに異なったオブジェクトが生成される
NullPointerException - serviceURL が null の場合
IOException - 通信障害によりコネクタサーバを作成できない場合
MalformedURLException - serviceURL 内にプロトコルのプロバイダが存在しない場合
JMXProviderException - serviceURL 内にプロトコルのプロバイダが存在するが、何らかの理由で使用できない場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。