モジュール java.management
パッケージ javax.management.remote

クラスJMXConnectorServer

java.lang.Object
javax.management.NotificationBroadcasterSupport
javax.management.remote.JMXConnectorServer
すべての実装されたインタフェース:
MBeanRegistration, NotificationBroadcaster, NotificationEmitter, JMXAddressable, JMXConnectorServerMBean
直系の既知のサブクラス:
RMIConnectorServer

public abstract class JMXConnectorServer
extends NotificationBroadcasterSupport
implements JMXConnectorServerMBean, MBeanRegistration, JMXAddressable

すべてのコネクタ・サーバーのスーパー・クラスです。 コネクタ・サーバーはMBeanサーバーに接続されます。 コネクタ・サーバーはクライアント接続要求を待機し、要求ごとに1つずつ接続を作成します。

コネクタ・サーバーとMBeanサーバーの関連付けは、コネクタ・サーバーをMBeanサーバーに登録するか、MBeanサーバーをコネクタ・サーバーのコンストラクタに渡すことによって行われます。

コネクタ・サーバーは作成された時点では非アクティブであり、 startメソッドが呼び出された時点でクライアント接続の待機を開始します。 その後、stopメソッドが呼び出されるか、MBeanサーバーから登録解除されると、コネクタ・サーバーはクライアント接続の待機を停止します。

コネクタ・サーバーを停止しても、MBeanサーバーから登録解除されることはありません。 いったん停止したコネクタ・サーバーを再起動することはできません。

クライアント接続が確立または終了するたびに、JMXConnectionNotificationクラスの通知が発行されます。

導入されたバージョン:
1.5
  • フィールド詳細

    • AUTHENTICATOR

      public static final String AUTHENTICATOR

      コネクタ・サーバーのオーセンティケータを指定する属性の名前です。 この属性に値が関連付けられている場合、その値は、JMXAuthenticatorインタフェースを実装するオブジェクトである必要があります。

      関連項目:
      定数フィールド値
  • コンストラクタの詳細

    • JMXConnectorServer

      public JMXConnectorServer()

      接続先のMBeanサーバーにMBeanとして登録されるコネクタ・サーバーを構築します。 このコンストラクタは、通常、リモートで利用できるコネクタ・サーバーがMBeanサーバー内で作成されるとき、いずれかのcreateMBeanメソッドによって呼び出されます。

    • JMXConnectorServer

      public JMXConnectorServer​(MBeanServer mbeanServer)

      指定されたMBeanサーバーに接続するコネクタ・サーバーを構築します。 この方法で作成されたコネクタ・サーバーを別のMBeanサーバーに登録することもできます。または、いずれのMBeanサーバーにも登録しないこともできます。

      パラメータ:
      mbeanServer - このコネクタ・サーバーの接続先MBeanサーバー。 このコネクタ・サーバーをMBeanサーバーに登録することによってMBeanサーバーに接続する場合はnull。
  • メソッドの詳細

    • getMBeanServer

      public MBeanServer getMBeanServer()

      このコネクタ・サーバーの接続先MBeanサーバーを返します。

      戻り値:
      このコネクタ・サーバーの接続先MBeanサーバー。これがMBeanサーバーに接続されていない場合はnull。
    • toJMXConnector

      public JMXConnector toJMXConnector​(Map<String,​?> env) throws IOException

      このコネクタ・サーバーのクライアント・スタブを返します。 クライアント・スタブは直列化可能なオブジェクトです。このオブジェクトのconnectメソッドを使用して、このコネクタ・サーバーとの新しい接続を1つ確立できます。

      指定されたコネクタが、クライアント・スタブの生成機能をサポートしない場合もあります。 ただし、JMXリモートAPIによって指定されたコネクタ(JMXMPコネクタとRMIコネクタ)は、この機能をサポートします。

      このメソッドのデフォルト実装は、JMXConnectorServerMBean.getAddress()JMXConnectorFactoryを使って、次のようなコードのスタブを生成します。

       JMXServiceURL addr = getAddress();
       return JMXConnectorFactory.newJMXConnector(addr, env);
       

      これが適切でないコネクタ・サーバーは、適切なロジックを実装するか、UnsupportedOperationExceptionをスローするために、このメソッドをオーバーライドする必要があります。

      定義:
      toJMXConnector、インタフェース: JMXConnectorServerMBean
      パラメータ:
      env - JMXConnector.connect(Map)に提供可能な同じ種類のクライアント接続パラメータ。 nullも可、その場合は空マップと同等。
      戻り値:
      このコネクタ・サーバーとの新しい接続を確立するために使用できるクライアント・スタブ。
      例外:
      UnsupportedOperationException - このコネクタ・サーバーがクライアント・スタブの生成機能をサポートしない場合。
      IllegalStateException - JMXConnectorServerが起動していない場合(JMXConnectorServerMBean.isActive()を参照)。
      IOException - 通信障害により、スタブを作成できない場合。
    • getNotificationInfo

      public MBeanNotificationInfo[] getNotificationInfo()

      このMBeanから送信される通知を示す配列を返します。 JMXConnectorServer内の実装は、要素1個の配列を返します。これは、JMXConnectionNotificationクラスの通知(そのクラスにタイプが定義される)を発行できることを示します。 その他の通知を発行できるサブクラスは、この要素とその他の通知の説明を含む配列を返します。

      定義:
      getNotificationInfo、インタフェース: NotificationBroadcaster
      戻り値:
      可能な通知の配列。
    • connectionOpened

      protected void connectionOpened​(String connectionId, String message, Object userData)

      新しいクライアント接続が開かれるとサブクラスによって呼び出されます。 connectionIdJMXConnectorServerMBean.getConnectionIds()によって返されたリストに追加し、JMXConnectionNotification.OPENED型のJMXConnectionNotificationを発行します。

      パラメータ:
      connectionId - 新しい接続のID。 以前にこのコネクタ・サーバーによって開かれた接続のIDとは異なる必要がある。
      message - 発行されたJMXConnectionNotificationのメッセージ。 nullも可。 Notification.getMessage()を参照してください。
      userData - 発行されたJMXConnectionNotificationuserData nullも可。 Notification.getUserData()を参照してください。
      例外:
      NullPointerException - connectionIdがnullである場合。
    • connectionClosed

      protected void connectionClosed​(String connectionId, String message, Object userData)

      クライアント接続が正常に終了したときサブクラスによって呼び出されます。 connectionIdJMXConnectorServerMBean.getConnectionIds()から返されたリストから削除し、JMXConnectionNotification.CLOSED型のJMXConnectionNotificationを発行します。

      パラメータ:
      connectionId - 終了した接続のID。
      message - 発行されたJMXConnectionNotificationのメッセージ。 nullも可。 Notification.getMessage()を参照してください。
      userData - 発行されたJMXConnectionNotificationuserData nullも可。 Notification.getUserData()を参照してください。
      例外:
      NullPointerException - connectionIdがnullである場合。
    • connectionFailed

      protected void connectionFailed​(String connectionId, String message, Object userData)

      クライアント接続に失敗したときサブクラスによって呼び出されます。 connectionIdJMXConnectorServerMBean.getConnectionIds()から返されたリストから削除し、JMXConnectionNotification.FAILED型のJMXConnectionNotificationを発行します。

      パラメータ:
      connectionId - 失敗した接続のID。
      message - 発行されたJMXConnectionNotificationのメッセージ。 nullも可。 Notification.getMessage()を参照してください。
      userData - 発行されたJMXConnectionNotificationuserData nullも可。 Notification.getUserData()を参照してください。
      例外:
      NullPointerException - connectionIdがnullである場合。
    • preRegister

      public ObjectName preRegister​(MBeanServer mbs, ObjectName name)

      このコネクタ・サーバーがMBeanサーバーに登録されているとき、登録先のMBeanサーバーによって呼び出されます。 このコネクタ・サーバーがMBeanサーバーに接続され、そのgetMBeanServer()メソッドはmbsを返します。

      このコネクタ・サーバーがすでにMBeanサーバーに接続されている場合、このメソッドは何も実行しません。 接続先のMBeanサーバーが、登録先のMBeanサーバーに一致している必要はありません。

      定義:
      preRegister、インタフェース: MBeanRegistration
      パラメータ:
      mbs - このコネクタ・サーバーの登録先MBeanサーバー。
      name - MBeanのオブジェクト名。
      戻り値:
      MBeanの登録名。
      例外:
      NullPointerException - mbsまたはnameがnullの場合。
    • preDeregister

      public void preDeregister() throws Exception

      このコネクタ・サーバーがMBeanサーバーから登録解除されるとき、そのMBeanサーバーによって呼び出されます。 登録によってMBeanサーバーに接続していたコネクタ・サーバーがまだアクティブな場合、登録を解除するとstopメソッドが呼び出されます。 stopメソッドが例外をスローした場合、登録解除は失敗します。 stopメソッドは、MBeanの登録解除前に、明示的に呼び出すことをお勧めします。

      定義:
      preDeregister、インタフェース: MBeanRegistration
      例外:
      IOException - stopメソッドによってスローされた場合。
      Exception - この例外は、MBeanサーバーにキャッチされ、MBeanRegistrationExceptionとして再スローされる。