-
- すべてのスーパー・インタフェース:
AutoCloseable,Closeable
- 既知のすべての実装クラス:
RMIConnector
public interface JMXConnector extends Closeable
JMX APIコネクタのクライアント側です。 このタイプのオブジェクトは、コネクタ・サーバーに接続するために使用できます。
このタイプの新しく作成されたオブジェクトは接続されていません。 このオブジェクトを使用するためには、
connectメソッドを呼び出す必要があります。 ただし、JMXConnectorFactory.connectで作成されたオブジェクトはすでに接続されています。- 導入されたバージョン:
- 1.5
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringCREDENTIALS接続中にコネクタ・サーバーに送信する証明書を指定する属性の名前です。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 voidaddConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)接続状態の変化を通知されるリスナーを追加します。voidclose()クライアントとサーバーの接続を終了します。voidconnect()コネクタ・サーバーとの接続を確立します。voidconnect(Map<String,?> env)コネクタ・サーバーとの接続を確立します。StringgetConnectionId()コネクタ・サーバーから、この接続のIDを取得します。MBeanServerConnectiongetMBeanServerConnection()リモートMBeanサーバーを表すMBeanServerConnectionオブジェクトを返します。MBeanServerConnectiongetMBeanServerConnection(Subject delegationSubject)指定された委譲対象の代わりにオペレーションを実行する、リモートMBeanサーバーを表すMBeanServerConnectionオブジェクトを返します。voidremoveConnectionNotificationListener(NotificationListener listener)状態の変更を通知されるリスナーをリストから削除します。voidremoveConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback)状態の変更を通知されるリスナーをリストから削除します。
-
-
-
フィールドの詳細
-
CREDENTIALS
static final String CREDENTIALS
接続中にコネクタ・サーバーに送信する証明書を指定する属性の名前です。 この属性に関連付けられた値は、サーバーの
JMXAuthenticatorの適切な型の直列化可能なオブジェクトです。- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
connect
void connect() throws IOExceptionコネクタ・サーバーとの接続を確立します。 このメソッドは、
connect(null)と同等です。- 例外:
IOException- 通信障害により接続を確立できなかった場合。SecurityException- セキュリティ上の理由により接続を確立できなかった場合。
-
connect
void connect(Map<String,?> env) throws IOException
コネクタ・サーバーとの接続を確立します。
このオブジェクト上で、すでに
connectが呼び出されている場合、もう1回呼び出しても何も起こりません。 一方、connectのあとでclose()が呼び出されている場合、再度connectを呼び出すとIOExceptionがスローされます。このオブジェクト上で
connectが1回も呼び出されていない場合、または呼出しに対して例外が生成された場合、connectを呼び出すとコネクタ・サーバーとの接続が試行されます。- パラメータ:
env- 接続のプロパティ。 このマップ内のプロパティは、JMXConnectorの作成時に指定されたマップ内のプロパティをオーバーライドする(存在する場合)。 このパラメータがnullの場合、空のマップを指定した場合と同じことになる。- 例外:
IOException- 通信障害により接続を確立できなかった場合。SecurityException- セキュリティ上の理由により接続を確立できなかった場合。
-
getMBeanServerConnection
MBeanServerConnection getMBeanServerConnection() throws IOException
リモートMBeanサーバーを表す
MBeanServerConnectionオブジェクトを返します。 通常、JMXConnectorに対してこのメソッドを2回呼び出した場合、各呼出しで同じMBeanServerConnectionオブジェクトが返されます。ただし、これは必須条件ではありません。返された
MBeanServerConnection内の各メソッドに対してこのメソッドを呼び出すと、リモートMBeanサーバー内の対応するメソッドが呼び出されます。 MBeanサーバー・メソッドによって返される値が、クライアントに返される値となります。 MBeanサーバー・メソッドがExceptionをスローした場合、クライアントには同じExceptionが返されます。 MBeanサーバー・メソッド自体、またはその呼出しの試行でErrorが発生した場合、クライアントには、発生したErrorをラップするJMXServerErrorExceptionが返されます。このメソッドの呼出しは、
getMBeanServerConnection(null)の呼び出しと同等です。委譲対象が指定されておらず、MBeanServerConnection上で呼び出されたすべてのオペレーションは認証対象(存在する場合)を使用する必要があります。- 戻り値:
- メソッドをリモートMBeanサーバーに転送することにより
MBeanServerConnectionインタフェースを実装するオブジェクト。 - 例外:
IOException- 有効なMBeanServerConnectionを作成できない場合。たとえば、connectメソッドによるリモートMBeanサーバーとの接続がまだ確立されていない場合、MBeanサーバーとの接続がすでに終了している場合、接続が中断された場合など。
-
getMBeanServerConnection
MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
指定された委譲対象の代わりにオペレーションを実行する、リモートMBeanサーバーを表す
MBeanServerConnectionオブジェクトを返します。 通常、JMXConnectorおよびSubjectに対してこのメソッドを2回呼び出した場合、各呼出しで同じMBeanServerConnectionオブジェクトが返されます。ただし、これは必須条件ではありません。返された
MBeanServerConnection内の各メソッドに対してこのメソッドを呼び出すと、認証対象ではなく委譲対象に代わって、リモートMBeanサーバー内の対応するメソッドが呼び出されます。 MBeanサーバー・メソッドによって返される値が、クライアントに返される値となります。 MBeanサーバー・メソッドがExceptionをスローした場合、クライアントには同じExceptionが返されます。 MBeanサーバー・メソッド自体、またはその呼出しの試行でErrorが発生した場合、クライアントには、発生したErrorをラップするJMXServerErrorExceptionが返されます。- パラメータ:
delegationSubject-Subject。これの代わりに要求が実行される。 nullも可、その場合は認証済Subjectの代わりに要求が実行される(存在する場合)。- 戻り値:
- メソッドをリモートMBeanサーバーに転送することにより、委譲対象の代わりに
MBeanServerConnectionインタフェースを実装するオブジェクト。 - 例外:
IOException- 有効なMBeanServerConnectionを作成できない場合。たとえば、connectメソッドによるリモートMBeanサーバーとの接続がまだ確立されていない場合、MBeanサーバーとの接続がすでに終了している場合、接続が中断された場合など。
-
close
void close() throws IOExceptionクライアントとサーバーの接続を終了します。 現行の要求または新しい要求が、
getMBeanServerConnection()から返されるMBeanServerConnectionを使用する場合、IOExceptionがスローされます。このオブジェクト上で、すでに
closeが呼び出されている場合、もう1回呼び出しても何も起こりません。closeが1回も呼び出されていない場合、または呼出しに対して例外が生成された場合は、接続の終了が試行されます。 この試行に成功した場合、closeは通常どおり終了します。失敗した場合は例外が生成されることがあります。接続の終了は、時間のかかるオペレーションです。 たとえばサーバーがクラッシュした場合、終了オペレーションはネットワーク・プロトコルのタイム・アウトまで中断される可能性があります。 終了オペレーションの途中で待たされたくない場合は、別スレッドで実行してください。
- 定義:
close、インタフェース:AutoCloseable- 定義:
close、インタフェース:Closeable- 例外:
IOException- 接続を正常に終了できない場合。 この例外がスローされた場合、接続のサーバー側が正常に終了したかどうかは不明。
-
addConnectionNotificationListener
void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
接続状態の変化を通知されるリスナーを追加します。 このリスナーは、
JMXConnectionNotification型の通知を受信します。 実装により、これ以外の型の通知が送信される場合もあります。このメソッドに追加できるリスナーの数に制限はありません。 フィルタとハンドバックに同一の値または異なった値を指定して、同一のリスナーを繰返し追加することも可能です。 複製エントリも特別扱いされません。 たとえば、リスナーをフィルタなしで2回登録した場合、各通知で、このリスナーの
handleNotificationメソッドが2回呼び出されます。- パラメータ:
listener- 接続状態通知を受け取るリスナー。filter- リスナーに配信される通知を選択するフィルタ。すべての通知を配信する場合はnull。handback- 各通知とともにリスナーに渡されるオブジェクト。 nullも可。- 例外:
NullPointerException-listenerがnullである場合。- 関連項目:
removeConnectionNotificationListener(javax.management.NotificationListener),NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
-
removeConnectionNotificationListener
void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
状態の変更を通知されるリスナーをリストから削除します。 削除対象として指定できるのは、以前に追加されたリスナーのみです。 条件に該当するリスナーが複数存在する場合、すべて削除されます。
- パラメータ:
listener- 接続状態通知を受け取るリスナー。- 例外:
NullPointerException-listenerがnullである場合。ListenerNotFoundException- リスナーがこのJMXConnectorに登録されていない場合。- 関連項目:
removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object),addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object),NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
-
removeConnectionNotificationListener
void removeConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback) throws ListenerNotFoundException
状態の変更を通知されるリスナーをリストから削除します。 削除対象として指定できるのは、以前に同じ3つのパラメータで追加されたリスナーのみです。 条件に該当するリスナーが複数存在する場合も、削除されるのは1つだけです。
- パラメータ:
l- 接続状態通知を受け取るリスナー。f- リスナーに配信される通知を選択するフィルタ。 nullも可。handback- 各通知とともにリスナーに渡されるオブジェクト。 nullも可。- 例外:
ListenerNotFoundException- リスナーがこのJMXConnectorに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。- 関連項目:
removeConnectionNotificationListener(NotificationListener),addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object),NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
-
getConnectionId
String getConnectionId() throws IOException
コネクタ・サーバーから、この接続のIDを取得します。 コネクタ・サーバー内のすべての接続は一意のIDを持ち、このIDは接続の寿命が尽きるまで変わりません。
- 戻り値:
- この接続の一意のID。 コネクタ・サーバーが
JMXConnectionNotificationに格納するIDと同じ。package descriptionは接続IDの規約の説明。 - 例外:
IOException- 接続の終了、中断などが原因で接続IDを取得できない場合。
-
-