モジュール java.management

パッケージ 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がスローされています。