パッケージ javax.management.remote
JMX MBeanサーバーにリモート・アクセスするためのインタフェースです。 このパッケージは、JMX MBeanサーバーをリモート管理するために必要なインタフェースを定義します。 この機能の仕様は、「JMX仕様、バージョン1.4」のパートIIIで完了しています
コネクタの概念について定義するJMX仕様です。 コネクタをJMX API MBeanサーバーに接続することにより、このサーバーをリモートJavaクライアントで利用できるようになります。 コネクタのクライアント側は、基本的にMBeanサーバーと同じインタフェース、すなわちMBeanServerConnection
インタフェースをエクスポートします。
コネクタにより、指定のプロトコル経由でMBeanサーバーにリモート・アクセスできるようになります。 JMXリモートAPIを使用すると、さまざまな種類のコネクタを利用できます。
- たとえば、JMXリモートAPIに定義されている標準コネクタ、RMIコネクタでは、RMI経由でMBeanServerにリモート・アクセスできます。
- JMXリモートAPIには、JMXメッセージ・プロトコル(JMXMP)を実装するJMXMPコネクタと呼ばれるオプション・コネクタも定義されています。 これはオプションであるため、このバンドルには含まれません(次を参照)。
JMXConnectorFactory
と、オプションの汎用コネクタ(このバンドルには含まれない。次を参照)を使って、ユーザー定義のコネクタ・プロトコルも使用できます。
注: JMXリモートAPIのオプション部分を実装するオプション・パッケージは、Java SEプラットフォームには含まれませんが、JMXリモートAPIのリファレンス実装から入手できます。
コネクタ・アドレス
通常、コネクタ・サーバーは、JMXServiceURL
クラスによって表されるアドレスを持っています。 RMIコネクタのアドレスは、次のような形式を取ります。
service:jmx:rmi:///jndi/rmi://myhost:1099/myname
このJMXServiceURL
では、最初のrmi:
でRMIコネクタを指定し、2番目のrmi:
で、RMIコネクタ・サーバーがスタブを格納したRMIレジストリを指定します。
前述の例はアドレスの1つの形式を示しているにすぎません。 RMIコネクタのアドレスには、いくつかの形式があります。詳細は、
パッケージに関するドキュメントを参照してください。 javax.management.remote.rmi
コネクタ・サーバーの作成
コネクタ・サーバーは、JMXConnectorServer
のサブクラスのインスタンスを構築することで作成されます。 通常、このインスタンスは、JMXConnectorServerFactory.newJMXConnectorServer
メソッドを使って作成されます。
通常、コネクタ・サーバーとMBeanサーバーの関連付けは、コネクタ・サーバーをMBeanサーバーに登録するか、コネクタ・サーバーの作成時にパラメータとしてMBeanサーバーを指定することによって行われます。
コネクタ・クライアントの作成
通常、コネクタ・クライアントは、コネクタ・サーバーのJMXServiceURL
を指定してJMXConnectorFactory.connect
メソッドに接続することにより作成されます。
より特殊な用途の場合は、RMIConnector
クラスなど、JMXConnector
インタフェースを実装するクラスを直接インスタンス化しても、クライアント・コネクタを作成できます。
クライアントまたはサーバーのその他のパラメータ
コネクタ・クライアントまたはコネクタ・サーバーの作成時には、追加パラメータを定義するMap
型のオブジェクトを指定できます。 このMap内の各エントリは、文字列で表されるキーと、そのキーに適した型の関連値を備えています。 JMXリモートAPIによって定義されたすべての標準キーの先頭文字列は、jmx.remote.
です。 これらの標準キーについては、『JMX Remote API』を参照してください。
接続識別子
コネクタ・サーバーによって開かれたすべての接続は、接続IDと呼ばれる文字列識別子を備えています。 この識別子は、コネクタ・サーバーによって発行されるJMXConnectionNotification
イベント内、getConnectionIds()
によって返されるリスト内、およびクライアントのgetConnectionId()
メソッドによって返される値に含まれます。
接続IDの例を次に示します。
rmi://192.18.1.9 username 1
この規則に従う接続IDの正規文法は、次のとおりです(『Java™言語仕様』のセクション2.4の文法概念を使用)。
ConnectionId: Protocol : ClientAddressopt Space ClientIdopt Space ArbitraryText ClientAddress: // HostAddress ClientPortopt ClientPort : HostPort
Protocol
は、JMXConnectorFactory
によって認識されるプロトコルです。
ClientAddress
は、接続クライアントのアドレスおよびポートです(判別可能な場合のみ、それ以外の場合はなし)。 HostAddress
は、クライアントの接続元ホストのインターネット・アドレスを数値またはDNS形式で表したものです。 IPv6数値アドレスは、角括弧[]
で囲まれます。 HostPort
は、クライアントの接続元の10進ポート番号です。
ClientId
は、クライアント・エンティティのアイデンティティです。通常、JMXPrincipal.getName()
によって返される文字列に一致します。 この文字列に空白文字を含めることはできません。
ArbitraryText
は、クライアントIDの作成時にコネクタ・サーバーによって追加される任意の追加テキストです。 最小限、この接続IDを現在このコネクタ・サーバーによって開かれているその他の接続IDと区別できるのに十分である必要があります。
- 導入されたバージョン:
- 1.5
- 関連項目:
- JMX仕様、バージョン1.4
-
インタフェースのサマリー インタフェース 説明 JMXAddressable JMXServiceURL
アドレスを保持できるオブジェクトにより実装されます。JMXAuthenticator リモート証明書をJAAS Subjectに変換する方法を定義するインタフェースです。JMXConnector JMX APIコネクタのクライアント側です。JMXConnectorProvider 指定のプロトコルを使用してJMX APIコネクタ・クライアントを作成するためのプロバイダです。JMXConnectorServerMBean コネクタ・サーバーのMBeanインタフェースです。JMXConnectorServerProvider 指定のプロトコルを使用してJMX APIコネクタ・サーバーを作成するためのプロバイダです。MBeanServerForwarder このクラスのオブジェクトは、MBeanServerインタフェースを実装し、このインタフェースも実装する別のオブジェクトをラップします。 -
クラスのサマリー クラス 説明 JMXConnectionNotification クライアント接続の開始および終了時または通知が失われたときに発行される通知です。JMXConnectorFactory JMX APIコネクタ・クライアントを作成するファクトリです。JMXConnectorServer すべてのコネクタ・サーバーのスーパー・クラスです。JMXConnectorServerFactory JMX APIコネクタ・サーバーを作成するファクトリです。JMXPrincipal JMXリモートAPIのリモート・クライアントのアイデンティティです。JMXServiceURL JMX APIコネクタ・サーバーのアドレスです。NotificationResult バッファ利用通知のクエリーの結果です。SubjectDelegationPermission 承認アイデンティティに代わってオペレーションを実行するために、認証アイデンティティにより必要とされるアクセス権です。TargetedNotification 通知とリスナーIDのペアです。 -
例外のサマリー 例外 説明 JMXProviderException 要求されるプロトコルのプロバイダは存在するが、何らかの理由で使用できない場合に、JMXConnectorFactory
およびJMXConnectorServerFactory
によってスローされる例外です。JMXServerErrorException リモートのMBeanServer
メソッド呼出しの結果としてスローされる例外です。この例外がスローされた場合は、リモートMBeanサーバーでその呼出しを処理している間にError
がスローされています。