- 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.remote.JMXAddressableから継承されたメソッド
getAddress
-
インタフェース javax.management.remote.JMXConnectorServerMBeanから継承されたメソッド
getAddress, getAttributes, isActive, start, stop
-
クラス javax.management.NotificationBroadcasterSupportから継承されたメソッド
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
-
-
-
-
フィールドの詳細
-
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。
-
setMBeanServerForwarder
public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
次のインタフェースからコピーされた説明:JMXConnectorServerMBean
このコネクタ・サーバー経由で着信したMBeanサーバーへの要求を遮断するオブジェクトを挿入します。 このオブジェクトは、このコネクタ・サーバーによって作成された新しい接続の
MBeanServer
として指定されます。 既存の接続に影響はありません。このメソッドは、異なる
MBeanServerForwarder
オブジェクトを使って繰返し呼び出すことができます。 結果はフォワーダのチェーンになります。 最後に追加されたフォワーダが、チェーンの先頭になります。 詳細は次のとおりです。このコネクタ・サーバーがすでに
MBeanServer
オブジェクトに関連付けられている場合は、mbsf.setMBeanServer
にこのオブジェクトが渡されます。 この処理で例外が生成された場合、このメソッドはその例外をスローします。このコネクタがまだ
MBeanServer
オブジェクトに関連付けられていない場合、またはmbsf.setMBeanServer
呼出しが成功した場合、mbsf
がこのコネクタ・サーバーのMBeanServer
になります。
- 定義:
setMBeanServerForwarder
、インタフェース:JMXConnectorServerMBean
- パラメータ:
mbsf
- 新しいMBeanServerForwarder
。
-
getConnectionIds
public String[] getConnectionIds()
次のインタフェースからコピーされた説明:JMXConnectorServerMBean
このコネクタ・サーバーへの現在開いている接続のIDのリストです。
- 定義:
getConnectionIds
、インタフェース:JMXConnectorServerMBean
- 戻り値:
- IDリストを含む新しい文字配列。 現在有効になっている接続がない場合、この配列は空になる。
-
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
- オーバーライド:
getNotificationInfo
、クラス:NotificationBroadcasterSupport
- 戻り値:
- 可能な通知の配列。
-
connectionOpened
protected void connectionOpened(String connectionId, String message, Object userData)
新しいクライアント接続が開かれるとサブクラスによって呼び出されます。
getConnectionIds()
によって返されるリストにconnectionId
を追加し、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)
クライアント接続が正常に終了したときサブクラスによって呼び出されます。
getConnectionIds()
によって返されるリストからconnectionId
を削除し、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)
クライアント接続に失敗したときサブクラスによって呼び出されます。
getConnectionIds()
によって返されるリストからconnectionId
を削除し、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の場合。
-
postRegister
public void postRegister(Boolean registrationDone)
次のインタフェースからコピーされた説明:MBeanRegistration
MBeanサーバーへの登録が成功または失敗したあと、MBeanが必要なオペレーションを実行できるようにします。このメソッドの実装が
RuntimeException
またはError
をスローする場合、MBeanサーバーはRuntimeMBeanException
またはRuntimeErrorException
の内部でこれらをそれぞれ再スローします。 ただし、postRegister
で例外をスローしてもMBeanの状態は変化しません。MBeanがすでに登録されている(registrationDone
がtrue
である)場合、MBeanの登録は解除されません。createMBean()
またはregisterMBean()
を呼び出すコードでは、このような例外が発行されたときにMBeanの登録が失敗したとみなされることがあるため、これによって混乱が生じる可能性があります。 したがって、回避できる場合はpostRegister
の実装で実行時例外またはエラーをスローしないことをお勧めします。- 定義:
postRegister
、インタフェース:MBeanRegistration
- パラメータ:
registrationDone
- MBeanがMBeanサーバーに正常に登録されたかどうかを示す。 登録に失敗した場合の値はfalse。
-
preDeregister
public void preDeregister() throws Exception
このコネクタ・サーバーがMBeanサーバーから登録解除されるとき、そのMBeanサーバーによって呼び出されます。 登録によってMBeanサーバーに接続していたコネクタ・サーバーがまだアクティブな場合、登録を解除すると
stop
メソッドが呼び出されます。stop
メソッドが例外をスローした場合、登録解除は失敗します。stop
メソッドは、MBeanの登録解除前に、明示的に呼び出すことをお勧めします。- 定義:
preDeregister
、インタフェース:MBeanRegistration
- 例外:
IOException
-stop
メソッドによってスローされた場合。Exception
- この例外は、MBeanサーバーにキャッチされ、MBeanRegistrationException
として再スローされる。
-
postDeregister
public void postDeregister()
次のインタフェースからコピーされた説明:MBeanRegistration
MBeanサーバーから登録解除したあと、MBeanが必要なオペレーションを実行できるようにします。このメソッドの実装が
RuntimeException
またはError
をスローする場合、MBeanサーバーはRuntimeMBeanException
またはRuntimeErrorException
の内部でこれらをそれぞれ再スローします。 ただし、postDeregister
で例外をスローしてもMBeanの状態は変化しません。MBeanはすでに正常に登録解除されており、その状態のままになります。unregisterMBean()
を呼び出すコードでは、MBeanの登録解除が失敗したとみなされることがあるため、これによって混乱が生じる可能性があります。 したがって、回避できる場合はpostDeregister
の実装で実行時例外またはエラーをスローしないことをお勧めします。- 定義:
postDeregister
、インタフェース:MBeanRegistration
-
-