- 既知のすべての実装クラス:
JMXConnectorServer,RMIConnectorServer
コネクタ・サーバーのMBeanインタフェースです。 JMX APIコネクタ・サーバーはMBeanサーバーに接続され、リモート・クライアントが利用するこのMBeanサーバーとの接続を確立します。
新しく作成されたコネクタ・サーバーは非アクティブであり、まだ接続を待機していません。 このコネクタ・サーバーは、startメソッドが呼び出されてから、接続の待機を開始します。
- 導入されたバージョン:
- 1.5
-
メソッドのサマリー
修飾子と型メソッド説明このコネクタ・サーバーのアドレス。このコネクタ・サーバーの属性。String[]このコネクタ・サーバーへの現在開いている接続のIDのリストです。booleanisActive()コネクタ・サーバーがアクティブかどうかを判定します。voidこのコネクタ・サーバー経由で着信したMBeanサーバーへの要求を遮断するオブジェクトを挿入します。voidstart()コネクタ・サーバーをアクティブにして、クライアント接続の待機を開始します。voidstop()コネクタ・サーバーを終了して、クライアント接続の待機を停止します。toJMXConnector(Map<String, ?> env) このコネクタ・サーバーのクライアント・スタブを返します。
-
メソッドの詳細
-
start
void start() throws IOExceptionコネクタ・サーバーをアクティブにして、クライアント接続の待機を開始します。 コネクタ・サーバーがすでにアクティブな場合は、このメソッドを呼び出しても何も起こりません。 コネクタ・サーバーが停止している状態でこのメソッドを呼び出すと、
IOExceptionが生成されます。- 例外:
IOException- 待機を開始できない場合、またはコネクタ・サーバーが停止している場合。IllegalStateException- コネクタ・サーバーがMBeanサーバーに接続されていない場合。
-
stop
void stop() throws IOExceptionコネクタ・サーバーを終了して、クライアント接続の待機を停止します。 このメソッドを呼び出すと、このサーバーで作成されたすべてのクライアント接続が終了します。 このメソッドが正常に終了した場合も、例外を生成して終了した場合も、コネクタ・サーバーは新しいクライアント接続を作成しなくなります。
いったん停止したコネクタ・サーバーを再度起動することはできません。
コネクタ・サーバーがすでに停止している場合は、このメソッドを呼び出しても何も起こりません。 コネクタ・サーバーがまだ起動していない状態でこのメソッドを呼び出すと、コネクタ・サーバー・オブジェクトが永続的に無効化されます。
クライアント接続の終了時に生成された例外は、このメソッドからはスローされません。 このMBeanからは、
JMXConnectionNotification.FAILED型のJMXConnectionNotificationと、終了できなかった接続の接続IDが発行されます。コネクタ・サーバーの終了は、時間のかかるオペレーションです。 たとえば有効な接続を持っているクライアント・マシンがクラッシュした場合、終了オペレーションはネットワーク・プロトコルのタイム・アウトまで中断される可能性があります。 終了オペレーションの途中で待たされたくない場合は、別スレッドで実行してください。
- 例外:
IOException- サーバーを正常に終了できない場合。 この例外がスローされたとき、サーバーはすでにすべてのクライアント接続の終了を試行済み。 サーバーが終了を試行したとき例外が生成されたものを除いて、すべてのクライアント接続が終了している。
-
isActive
-
setMBeanServerForwarder
void setMBeanServerForwarder(MBeanServerForwarder mbsf) このコネクタ・サーバー経由で着信したMBeanサーバーへの要求を遮断するオブジェクトを挿入します。 このオブジェクトは、このコネクタ・サーバーによって作成された新しい接続の
MBeanServerとして指定されます。 既存の接続には影響しません。このメソッドは、異なる
MBeanServerForwarderオブジェクトを使って繰返し呼び出すことができます。 結果はフォワーダのチェーンになります。 最後に追加されたフォワーダが、チェーンの先頭になります。 詳細は次のとおりです。このコネクタ・サーバーがすでに
MBeanServerオブジェクトに関連付けられている場合は、mbsf.setMBeanServerにこのオブジェクトが渡されます。 この処理で例外が生成された場合、このメソッドはその例外をスローします。このコネクタがまだ
MBeanServerオブジェクトに関連付けられていない場合、またはmbsf.setMBeanServer呼出しが成功した場合、mbsfがこのコネクタ・サーバーのMBeanServerになります。
- パラメータ:
mbsf- 新しいMBeanServerForwarder。- 例外:
IllegalArgumentException-mbsf.setMBeanServerの呼出しがIllegalArgumentExceptionを生成して失敗した場合。mbsfがnullの場合も含まれる。
-
getConnectionIds
String[] getConnectionIds()このコネクタ・サーバーへの現在開いている接続のIDのリストです。
- 戻り値:
- IDリストを含む新しい文字配列。 現在有効になっている接続がない場合、この配列は空になる。
-
getAddress
JMXServiceURL getAddress()このコネクタ・サーバーのアドレス。
コネクタ・サーバーの作成時に指定されたアドレスが完全であるとは限らないため、返されるアドレスは元の
JMXServiceURLとは一致しない可能性があります。 たとえば、ポート番号はコネクタ・サーバーの起動時に動的に割り当てられることがあります。 このため、返されるアドレスはJMXConnectorServerの実際のJMXServiceURLです。 これは、クライアントがJMXConnectorFactory.connect(JMXServiceURL)に指定するアドレスです。JMXConnectorServerがまだactiveでない場合、返されるアドレスはnullになります。- 戻り値:
- このコネクタ・サーバーのアドレス。存在しない場合はnull。
-
getAttributes
-
toJMXConnector
このコネクタ・サーバーのクライアント・スタブを返します。 クライアント・スタブは直列化可能なオブジェクトです。このオブジェクトの
connectメソッドを使用して、このコネクタ・サーバーとの新しい接続を1つ確立できます。指定されたコネクタが、クライアント・スタブの生成機能をサポートしない場合もあります。 ただし、JMXリモートAPIによって指定されたコネクタ(JMXMPコネクタとRMIコネクタ)は、この機能をサポートします。
- パラメータ:
env-JMXConnector.connect(Map)に提供可能な同じ種類のクライアント接続パラメータ。 nullも可、その場合は空マップと同等。- 戻り値:
- このコネクタ・サーバーとの新しい接続を確立するために使用できるクライアント・スタブ。
- 例外:
UnsupportedOperationException- このコネクタ・サーバーがクライアント・スタブの生成機能をサポートしない場合。IllegalStateException- JMXConnectorServerが起動していない場合(isActive()を参照)。IOException- 通信障害により、スタブを作成できない場合。
-