- 既知のすべての実装クラス:
JMXConnectorServer
,RMIConnectorServer
コネクタ・サーバーのMBeanインタフェースです。 JMX APIコネクタ・サーバーはMBeanサーバーに接続され、リモート・クライアントが利用するこのMBeanサーバーとの接続を確立します。
新しく作成されたコネクタ・サーバーは非アクティブであり、まだ接続を待機していません。 このコネクタ・サーバーは、start
メソッドが呼び出されてから、接続の待機を開始します。
- 導入されたバージョン:
- 1.5
-
メソッドのサマリー
修飾子と型メソッド説明このコネクタ・サーバーのアドレス。このコネクタ・サーバーの属性。String[]
このコネクタ・サーバーへの現在開いている接続のIDのリストです。boolean
isActive()
コネクタ・サーバーがアクティブかどうかを判定します。void
このコネクタ・サーバー経由で着信したMBeanサーバーへの要求を遮断するオブジェクトを挿入します。void
start()
コネクタ・サーバーをアクティブにして、クライアント接続の待機を開始します。void
stop()
コネクタ・サーバーを終了して、クライアント接続の待機を停止します。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
boolean isActive()コネクタ・サーバーがアクティブかどうかを判定します。
start
メソッドが正常に終了すると、コネクタ・サーバーはアクティブになります。その後、stop
メソッドが呼び出されるか、障害が発生するまで、コネクタ・サーバーはアクティブな状態を維持します。- 戻り値:
- コネクタ・サーバーがアクティブな場合はtrue。
-
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
JMXConnector toJMXConnector(Map<String,?> env) throws IOExceptionこのコネクタ・サーバーのクライアント・スタブを返します。 クライアント・スタブは直列化可能なオブジェクトです。このオブジェクトの
connect
メソッドを使用して、このコネクタ・サーバーとの新しい接続を1つ確立できます。指定されたコネクタが、クライアント・スタブの生成機能をサポートしない場合もあります。 ただし、JMXリモートAPIによって指定されたコネクタ(JMXMPコネクタとRMIコネクタ)は、この機能をサポートします。
- パラメータ:
env
-JMXConnector.connect(Map)
に提供可能な同じ種類のクライアント接続パラメータ。 nullも可、その場合は空マップと同等。- 戻り値:
- このコネクタ・サーバーとの新しい接続を確立するために使用できるクライアント・スタブ。
- 例外:
UnsupportedOperationException
- このコネクタ・サーバーがクライアント・スタブの生成機能をサポートしない場合。IllegalStateException
- JMXConnectorServerが起動していない場合(isActive()
を参照)。IOException
- 通信障害により、スタブを作成できない場合。
-