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