JavaTM Platform
Standard Ed. 6

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

フィールドの概要
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
 
インタフェース javax.management.remote.JMXAddressable から継承されたメソッド
getAddress
 

フィールドの詳細

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 Platform
Standard Ed. 6

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

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