- 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)
新しいクライアント接続が開かれるとサブクラスによって呼び出されます。MBeanServer
getMBeanServer()
このコネクタ・サーバーの接続先MBeanサーバーを返します。MBeanNotificationInfo[]
getNotificationInfo()
このMBeanから送信される通知を示す配列を返します。void
preDeregister()
このコネクタ・サーバーがMBeanサーバーから登録解除されるとき、そのMBeanサーバーによって呼び出されます。ObjectName
preRegister(MBeanServer mbs, ObjectName name)
このコネクタ・サーバーがMBeanサーバーに登録されているとき、登録先のMBeanサーバーによって呼び出されます。JMXConnector
toJMXConnector(Map<String,?> env)
このコネクタ・サーバーのクライアント・スタブを返します。-
クラス javax.management.NotificationBroadcasterSupportで宣言されたメソッド
addNotificationListener, handleNotification, sendNotification
-
クラス java.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
インタフェース javax.management.remote.JMXAddressableで宣言されたメソッド
getAddress
-
インタフェース javax.management.remote.JMXConnectorServerMBeanで宣言されたメソッド
getAddress, getAttributes, getConnectionIds, isActive, setMBeanServerForwarder, start, stop
-
インタフェース javax.management.MBeanRegistrationで宣言されたメソッド
postDeregister, postRegister
-
インタフェース javax.management.NotificationBroadcasterで宣言されたメソッド
removeNotificationListener
-
インタフェース javax.management.NotificationEmitterで宣言されたメソッド
removeNotificationListener
-
-
-
-
フィールドの詳細
-
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()
; returnJMXConnectorFactory.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)
新しいクライアント接続が開かれるとサブクラスによって呼び出されます。
connectionId
をJMXConnectorServerMBean.getConnectionIds()
によって返されたリストに追加し、JMXConnectionNotification.OPENED
型のJMXConnectionNotification
を発行します。- パラメータ:
connectionId
- 新しい接続のID。 以前にこのコネクタ・サーバーによって開かれた接続のIDとは異なる必要がある。message
- 発行されたJMXConnectionNotification
のメッセージ。 nullも可。Notification.getMessage()
を参照してください。userData
- 発行されたJMXConnectionNotification
のuserData
。 nullも可。Notification.getUserData()
を参照してください。- 例外:
NullPointerException
-connectionId
がnullである場合。
-
connectionClosed
protected void connectionClosed(String connectionId, String message, Object userData)
クライアント接続が正常に終了したときサブクラスによって呼び出されます。
connectionId
をJMXConnectorServerMBean.getConnectionIds()
から返されたリストから削除し、JMXConnectionNotification.CLOSED
型のJMXConnectionNotification
を発行します。- パラメータ:
connectionId
- 終了した接続のID。message
- 発行されたJMXConnectionNotification
のメッセージ。 nullも可。Notification.getMessage()
を参照してください。userData
- 発行されたJMXConnectionNotification
のuserData
。 nullも可。Notification.getUserData()
を参照してください。- 例外:
NullPointerException
-connectionId
がnullである場合。
-
connectionFailed
protected void connectionFailed(String connectionId, String message, Object userData)
クライアント接続に失敗したときサブクラスによって呼び出されます。
connectionId
をJMXConnectorServerMBean.getConnectionIds()
から返されたリストから削除し、JMXConnectionNotification.FAILED
型のJMXConnectionNotification
を発行します。- パラメータ:
connectionId
- 失敗した接続のID。message
- 発行されたJMXConnectionNotification
のメッセージ。 nullも可。Notification.getMessage()
を参照してください。userData
- 発行されたJMXConnectionNotification
のuserData
。 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
として再スローされる。
-
-