モジュール java.management
パッケージ 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
        戻り値:
        可能な通知の配列。
      • 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として再スローされる。