クラスRMIConnector

java.lang.Object
javax.management.remote.rmi.RMIConnector
すべての実装されたインタフェース:
Closeable, Serializable, AutoCloseable, JMXAddressable, JMXConnector

public class RMIConnector extends Object implements JMXConnector, Serializable, JMXAddressable

リモートRMIコネクタへの接続です。 通常、こうした接続は、JMXConnectorFactoryで作成されます。 しかし、JNDIを使用しないで取得されるRMIServerスタブなどにより、このクラスを直接使用できる特殊なアプリケーションもあります。

導入されたバージョン:
1.5
関連項目:
  • フィールドのサマリー

    インタフェースで宣言されたフィールド JMXConnector

    CREDENTIALS
    修飾子と型
    フィールド
    説明
    static final String
    接続中にコネクタ・サーバーに送信する証明書を指定する属性の名前です。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    RMIConnector(JMXServiceURL url, Map<String,?> environment)
    指定されたアドレスのRMIコネクタ・サーバーに接続するRMIConnectorを構築します。
    RMIConnector(RMIServer rmiServer, Map<String,?> environment)
    指定されたRMIスタブを使ってRMIConnectorを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    接続状態の変化を通知されるリスナーを追加します。
    void
    クライアントとサーバーの接続を終了します。
    void
    コネクタ・サーバーとの接続を確立します。
    void
    connect(Map<String,?> environment)
    コネクタ・サーバーとの接続を確立します。
    このコネクタのアドレスです。
    コネクタ・サーバーから、この接続のIDを取得します。
    リモートMBeanサーバーを表すMBeanServerConnectionオブジェクトを返します。
    void
    状態の変更を通知されるリスナーをリストから削除します。
    void
    状態の変更を通知されるリスナーをリストから削除します。
    このオブジェクトの文字列表現を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。

    インタフェースで宣言されたメソッド JMXConnector

    getMBeanServerConnection
    修飾子と型
    メソッド
    説明
    getMBeanServerConnection(Subject delegationSubject)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    このメソッドでは、削除されたレガシー・サブジェクト委任機能がサポートされました。
  • コンストラクタの詳細

    • RMIConnector

      public RMIConnector(JMXServiceURL url, Map<String,?> environment)

      指定されたアドレスのRMIコネクタ・サーバーに接続するRMIConnectorを構築します。

      このアドレスは、次の構文を使用してコネクタ・サーバーに直接参照できます:

      service:jmx:rmi://[host[:port]]/stub/encoded-stub
      

      (角括弧[]はアドレスの一部ではなく、ホストとポートがオプションであることを示します。)

      このアドレスは、次の構文を使用して、JNDIを介してRMIスタブを検索する場所を示すことができます:

      service:jmx:rmi://[host[:port]]/jndi/jndi-name
      

      実装も追加アドレス構文を認識できます。たとえば:

      service:jmx:myprotocolname://[host[:port]]/stub/encoded-stub
      
      パラメータ:
      url - RMIコネクタ・サーバーのアドレス。
      environment - 接続の作成方法を指定する追加属性。 JNDIベースのアドレスの場合、これらの属性に、InitialContextによって認識されるJNDI属性を含めることができ、有用である。 このパラメータがnullの場合、空のマップを指定した場合と同じことになる。
      スロー:
      IllegalArgumentException - urlがnullである場合。
    • RMIConnector

      public RMIConnector(RMIServer rmiServer, Map<String,?> environment)

      指定されたRMIスタブを使ってRMIConnectorを構築します。

      パラメータ:
      rmiServer - RMIコネクタ・サーバーを表すRMIスタブ。
      environment - 接続の作成方法を指定する追加属性。 このパラメータがnullの場合、空のマップを指定した場合と同じことになる。
      スロー:
      IllegalArgumentException - rmiServerがnullである場合。
  • メソッドの詳細

    • toString

      public String toString()

      このオブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトを「テキストで表す」文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。

      オーバーライド:
      toString、クラスObject
      戻り値:
      このオブジェクトのString表現。
    • getAddress

      public JMXServiceURL getAddress()

      このコネクタのアドレスです。

      定義:
      getAddress、インタフェースJMXAddressable
      戻り値:
      このコネクタのアドレス。存在しない場合はnull。
      導入されたバージョン:
      1.6
    • connect

      public void connect() throws IOException
      次のインタフェースからコピーされた説明: JMXConnector

      コネクタ・サーバーとの接続を確立します。 このメソッドは、connect(null)と同等です。

      定義:
      connect、インタフェースJMXConnector
      スロー:
      IOException - 通信障害により接続を確立できなかった場合
    • connect

      public void connect(Map<String,?> environment) throws IOException
      次のインタフェースからコピーされた説明: JMXConnector

      コネクタ・サーバーとの接続を確立します。

      このオブジェクト上で、すでにconnectが呼び出されている場合、もう1回呼び出しても何も起こりません。 一方、connectのあとでJMXConnector.close()が呼び出されている場合、再度connectを呼び出すとIOExceptionがスローされます。

      このオブジェクト上でconnectが1回も呼び出されていない場合、または呼出しに対して例外が生成された場合、 connectを呼び出すとコネクタ・サーバーとの接続が試行されます。

      定義:
      connect、インタフェースJMXConnector
      パラメータ:
      environment - 接続のプロパティ。 このマップ内のプロパティは、JMXConnectorの作成時に指定されたマップ内のプロパティをオーバーライドする(存在する場合)。 このパラメータがnullの場合、空のマップを指定した場合と同じことになる。
      スロー:
      IOException - 通信障害により接続を確立できなかった場合
    • getConnectionId

      public String getConnectionId() throws IOException
      次のインタフェースからコピーされた説明: JMXConnector

      コネクタ・サーバーから、この接続のIDを取得します。 コネクタ・サーバー内のすべての接続は一意のIDを持ち、このIDは接続の寿命が尽きるまで変わりません。

      定義:
      getConnectionId、インタフェースJMXConnector
      戻り値:
      この接続の一意のID。 コネクタ・サーバーがJMXConnectionNotificationに格納するIDと同じ。 package descriptionは接続IDの規約の説明。
      スロー:
      IOException - 接続の終了、中断などが原因で接続IDを取得できない場合。
    • getMBeanServerConnection

      public MBeanServerConnection getMBeanServerConnection() throws IOException
      次のインタフェースからコピーされた説明: JMXConnector

      リモートMBeanサーバーを表すMBeanServerConnectionオブジェクトを返します。 通常、JMXConnectorに対してこのメソッドを2回呼び出した場合、各呼出しで同じMBeanServerConnectionオブジェクトが返されます。ただし、これは必須条件ではありません。

      返されたMBeanServerConnection内の各メソッドに対してこのメソッドを呼び出すと、リモートMBeanサーバー内の対応するメソッドが呼び出されます。 MBeanサーバー・メソッドによって返される値が、クライアントに返される値となります。 MBeanサーバー・メソッドがExceptionをスローした場合、クライアントには同じExceptionが返されます。 MBeanサーバー・メソッド自体、またはその呼出しの試行でErrorが発生した場合、クライアントには、発生したErrorをラップするJMXServerErrorExceptionが返されます。

      定義:
      getMBeanServerConnection、インタフェースJMXConnector
      戻り値:
      メソッドをリモートMBeanサーバーに転送することによりMBeanServerConnectionインタフェースを実装するオブジェクト。
      スロー:
      IOException - 有効なMBeanServerConnectionを作成できない場合。たとえば、connectメソッドによるリモートMBeanサーバーとの接続がまだ確立されていない場合、MBeanサーバーとの接続がすでに終了している場合、接続が中断された場合など。
    • addConnectionNotificationListener

      public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
      次のインタフェースからコピーされた説明: JMXConnector

      接続状態の変化を通知されるリスナーを追加します。 このリスナーは、JMXConnectionNotification型の通知を受信します。 実装により、これ以外の型の通知が送信される場合もあります。

      このメソッドに追加できるリスナーの数に制限はありません。 フィルタとハンドバックに同一の値または異なった値を指定して、同一のリスナーを繰返し追加することも可能です。 複製エントリも特別扱いされません。 たとえば、リスナーをフィルタなしで2回登録した場合、各通知で、このリスナーのhandleNotificationメソッドが2回呼び出されます。

      定義:
      addConnectionNotificationListener、インタフェースJMXConnector
      パラメータ:
      listener - 接続状態通知を受け取るリスナー。
      filter - リスナーに配信される通知を選択するフィルタ。すべての通知を配信する場合はnull。
      handback - 各通知とともにリスナーに渡されるオブジェクト。 nullも可。
      関連項目:
    • removeConnectionNotificationListener

      public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
      次のインタフェースからコピーされた説明: JMXConnector

      状態の変更を通知されるリスナーをリストから削除します。 削除対象として指定できるのは、以前に追加されたリスナーのみです。 条件に該当するリスナーが複数存在する場合、すべて削除されます。

      定義:
      removeConnectionNotificationListener、インタフェースJMXConnector
      パラメータ:
      listener - 接続状態通知を受け取るリスナー。
      スロー:
      ListenerNotFoundException - リスナーがこのJMXConnectorに登録されていない場合。
      関連項目:
    • removeConnectionNotificationListener

      public void removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
      次のインタフェースからコピーされた説明: JMXConnector

      状態の変更を通知されるリスナーをリストから削除します。 削除対象として指定できるのは、以前に同じ3つのパラメータで追加されたリスナーのみです。 条件に該当するリスナーが複数存在する場合も、削除されるのは1つだけです。

      定義:
      removeConnectionNotificationListener、インタフェースJMXConnector
      パラメータ:
      listener - 接続状態通知を受け取るリスナー。
      filter - リスナーに配信される通知を選択するフィルタ。 nullも可。
      handback - 各通知とともにリスナーに渡されるオブジェクト。 nullも可。
      スロー:
      ListenerNotFoundException - リスナーがこのJMXConnectorに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。
      関連項目:
    • close

      public void close() throws IOException
      次のインタフェースからコピーされた説明: JMXConnector

      クライアントとサーバーの接続を終了します。 現行の要求または新しい要求が、JMXConnector.getMBeanServerConnection()から返されるMBeanServerConnectionを使用する場合、IOExceptionがスローされます。

      このオブジェクト上で、すでにcloseが呼び出されている場合、もう1回呼び出しても何も起こりません。 closeが1回も呼び出されていない場合、または呼出しに対して例外が生成された場合は、接続の終了が試行されます。 この試行に成功した場合、closeは通常どおり終了します。失敗した場合は例外が生成されることがあります。

      接続の終了は、時間のかかるオペレーションです。 たとえばサーバーがクラッシュした場合、終了オペレーションはネットワーク・プロトコルのタイム・アウトまで中断される可能性があります。 終了オペレーションの途中で待たされたくない場合は、別スレッドで実行してください。

      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      定義:
      close、インタフェースJMXConnector
      スロー:
      IOException - 接続を正常に終了できない場合。 この例外がスローされた場合、接続のサーバー側が正常に終了したかどうかは不明。