|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.management.remote.JMXConnectorServerFactory
public class JMXConnectorServerFactory
JMX API コネクタサーバーを作成するファクトリです。このクラスのインスタンスは存在しません。
各コネクタサーバーは、JMXConnectorServerProvider
のインスタンスによって作成されます。指定された JMXServiceURL
が "service:jmx:protocol:remainder"
のようだったとしましょう。ファクトリは、その 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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。