JavaTM 2 Platform
Standard Ed. 5.0

javax.management.remote
クラス JMXConnectorServer

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

public abstract class JMXConnectorServer
extends NotificationBroadcasterSupport
implements JMXConnectorServerMBean, MBeanRegistration

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

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

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

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

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

導入されたバージョン:
1.5

フィールドの概要
static String AUTHENTICATOR
          コネクタサーバのオーセンティケータを指定する属性の名前です。
 
コンストラクタの概要
JMXConnectorServer()
          接続先の MBean サーバに MBean として登録されるコネクタサーバを構築します。
JMXConnectorServer(MBeanServer mbeanServer)
          指定された MBean サーバに接続するコネクタサーバを構築します。
 
メソッドの概要
protected  void connectionClosed(String connectionId, String message, Object userData)
          クライアント接続が正常に終了したときサブクラスによって呼び出されます。
protected  void connectionFailed(String connectionId, String message, Object userData)
          クライアント接続に失敗したときサブクラスによって呼び出されます。
protected  void connectionOpened(String connectionId, String message, Object userData)
          新しいクライアント接続を有効にしたときサブクラスによって呼び出されます。
 String[] getConnectionIds()
          現在有効になっている、このコネクタサーバとの接続の ID のリストです。
 MBeanServer getMBeanServer()
          このコネクタサーバの接続先 MBean サーバを返します。
 MBeanNotificationInfo[] getNotificationInfo()
          この MBean から送信される通知を示す配列を返します。
 void postDeregister()
          MBean サーバから登録解除したあと、MBean が必要なオペレーションを実行できるようにします。
 void postRegister(Boolean registrationDone)
          MBean サーバへの登録が成功または失敗したあと、MBean が必要なオペレーションを実行できるようにします。
 void preDeregister()
          このコネクタサーバの MBean サーバへの登録が解除されたとき、元登録先 MBean サーバによって呼び出されます。
 ObjectName preRegister(MBeanServer mbs, ObjectName name)
          このコネクタサーバが MBean サーバに登録されたとき、登録先の MBean サーバによって呼び出されます。
 void setMBeanServerForwarder(MBeanServerForwarder mbsf)
          このコネクタサーバ経由で着信した MBean サーバへの要求を遮断するオブジェクトを追加します。
 JMXConnector toJMXConnector(Map<String,?> env)
          このコネクタサーバのクライアントスタブを返します。
 
クラス javax.management.NotificationBroadcasterSupport から継承されたメソッド
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース javax.management.remote.JMXConnectorServerMBean から継承されたメソッド
getAddress, getAttributes, isActive, start, stop
 

フィールドの詳細

AUTHENTICATOR

public static final String AUTHENTICATOR

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

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

JMXConnectorServer

public JMXConnectorServer()

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


JMXConnectorServer

public JMXConnectorServer(MBeanServer mbeanServer)

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

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

getMBeanServer

public MBeanServer getMBeanServer()

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

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

setMBeanServerForwarder

public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
インタフェース JMXConnectorServerMBean の記述:

このコネクタサーバ経由で着信した MBean サーバへの要求を遮断するオブジェクトを追加します。このオブジェクトは、このコネクタサーバによって作成された新しい接続の MBeanServer として指定されます。既存の接続に影響はありません。

このコネクタサーバがすでに MBeanServer オブジェクトに関連付けられている場合は、mbsf.setMBeanServer にこのオブジェクトが渡されます。この処理で例外が生成された場合、このメソッドはその例外をスローします。スローされる例外は、何の影響も持ちません。

このコネクタがまだ MBeanServer オブジェクトに関連付けられていない場合、または mbsf.setMBeanServer 呼び出しが成功した場合、mbsf がこのコネクタサーバの MBeanServer になります。

定義:
インタフェース JMXConnectorServerMBean 内の setMBeanServerForwarder
パラメータ:
mbsf - 新しい MBeanServerForwarder

getConnectionIds

public String[] getConnectionIds()
インタフェース JMXConnectorServerMBean の記述:

現在有効になっている、このコネクタサーバとの接続の ID のリストです。

定義:
インタフェース JMXConnectorServerMBean 内の getConnectionIds
戻り値:
ID リストを含む新しい文字配列。現在有効になっている接続がない場合、この配列は空になる

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 をスローするため、このメソッドをオーバーライドする必要があります。

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

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()

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

定義:
インタフェース NotificationBroadcaster 内の getNotificationInfo
オーバーライド:
クラス NotificationBroadcasterSupport 内の getNotificationInfo
戻り値:
通知の配列

connectionOpened

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

新しいクライアント接続を有効にしたときサブクラスによって呼び出されます。getConnectionIds() によって返されるリストに connectionId を追加し、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)

クライアント接続が正常に終了したときサブクラスによって呼び出されます。getConnectionIds() によって返されるリストから connectionId を削除し、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)

クライアント接続に失敗したときサブクラスによって呼び出されます。getConnectionIds() によって返されるリストから connectionId を削除し、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 サーバに一致している必要はありません。

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

postRegister

public void postRegister(Boolean registrationDone)
インタフェース MBeanRegistration の記述:
MBean サーバへの登録が成功または失敗したあと、MBean が必要なオペレーションを実行できるようにします。

定義:
インタフェース MBeanRegistration 内の postRegister
パラメータ:
registrationDone - MBean が MBean サーバに正常に登録されたかどうかを示す。登録に失敗した場合の値は false

preDeregister

public void preDeregister()
                   throws Exception

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

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

postDeregister

public void postDeregister()
インタフェース MBeanRegistration の記述:
MBean サーバから登録解除したあと、MBean が必要なオペレーションを実行できるようにします。

定義:
インタフェース MBeanRegistration 内の postDeregister

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。