public interface JMXConnector extends Closeable
JMX APIコネクタのクライアント側です。このタイプのオブジェクトは、コネクタ・サーバーに接続するために使用できます。
このタイプの新しく作成されたオブジェクトは接続されていません。このオブジェクトを使用するためには、connect
メソッドを呼び出す必要があります。ただし、JMXConnectorFactory.connect
で作成されたオブジェクトはすでに接続されています。
修飾子と型 | フィールドと説明 |
---|---|
static String |
CREDENTIALS
接続中にコネクタ・サーバーに送信する証明書を指定する属性の名前です。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
接続状態の変化を通知されるリスナーを追加します。
|
void |
close()
クライアントとサーバーの接続を終了します。
|
void |
connect()
コネクタ・サーバーとの接続を確立します。
|
void |
connect(Map<String,?> env)
コネクタ・サーバーとの接続を確立します。
|
String |
getConnectionId()
コネクタ・サーバーから、この接続のIDを取得します。
|
MBeanServerConnection |
getMBeanServerConnection()
リモートMBeanサーバーを表す
MBeanServerConnection オブジェクトを返します。 |
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject)
指定された委譲対象の代わりにオペレーションを実行する、リモートMBeanサーバーを表す
MBeanServerConnection オブジェクトを返します。 |
void |
removeConnectionNotificationListener(NotificationListener listener)
状態の変更を通知されるリスナーをリストから削除します。
|
void |
removeConnectionNotificationListener(NotificationListener l, NotificationFilter f, Object handback)
状態の変更を通知されるリスナーをリストから削除します。
|
static final String CREDENTIALS
接続中にコネクタ・サーバーに送信する証明書を指定する属性の名前です。この属性に関連付けられた値は、サーバーのJMXAuthenticator
の適切な型の直列化可能なオブジェクトです。
void connect() throws IOException
コネクタ・サーバーとの接続を確立します。このメソッドは、connect(null)
と同等です。
IOException
- 通信障害により接続を確立できなかった場合。SecurityException
- セキュリティ上の理由により接続を確立できなかった場合。void connect(Map<String,?> env) throws IOException
コネクタ・サーバーとの接続を確立します。
このオブジェクト上で、すでにconnect
が呼び出されている場合、もう1回呼び出しても何も起こりません。一方、connect
のあとでclose()
が呼び出されている場合、再度connect
を呼び出すとIOException
がスローされます。
このオブジェクト上でconnect
が1回も呼び出されていない場合、または呼出しに対して例外が生成された場合、connect
を呼び出すとコネクタ・サーバーとの接続が試行されます。
env
- 接続のプロパティ。このマップ内のプロパティは、JMXConnector
の作成時に指定されたマップ内のプロパティをオーバーライドする(存在する場合)。このパラメータがnullの場合、空のマップを指定した場合と同じことになる。IOException
- 通信障害により接続を確立できなかった場合。SecurityException
- セキュリティ上の理由により接続を確立できなかった場合。MBeanServerConnection getMBeanServerConnection() throws IOException
リモートMBeanサーバーを表すMBeanServerConnection
オブジェクトを返します。通常、JMXConnector
に対してこのメソッドを2回呼び出した場合、各呼出しで同じMBeanServerConnection
オブジェクトが返されます。ただし、これは必須条件ではありません。
返されたMBeanServerConnection
内の各メソッドに対してこのメソッドを呼び出すと、リモートMBeanサーバー内の対応するメソッドが呼び出されます。MBeanサーバー・メソッドによって返される値が、クライアントに返される値となります。MBeanサーバー・メソッドがException
をスローした場合、クライアントには同じException
が返されます。MBeanサーバー・メソッド自体、またはその呼出しの試行でError
が発生した場合、クライアントには、発生したError
をラップするJMXServerErrorException
が返されます。
このメソッドの呼出しは、getMBeanServerConnection(null)
の呼び出しと同等です。委譲対象が指定されておらず、MBeanServerConnection
上で呼び出されたすべてのオペレーションは認証対象(存在する場合)を使用する必要があります。
MBeanServerConnection
インタフェースを実装するオブジェクト。IOException
- 有効なMBeanServerConnection
を作成できない場合。たとえば、connect
メソッドによるリモートMBeanサーバーとの接続がまだ確立されていない場合、MBeanサーバーとの接続がすでに終了している場合、接続が中断された場合など。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の代わりに要求が実行される(存在する場合)。MBeanServerConnection
インタフェースを実装するオブジェクト。IOException
- 有効なMBeanServerConnection
を作成できない場合。たとえば、connect
メソッドによるリモートMBeanサーバーとの接続がまだ確立されていない場合、MBeanサーバーとの接続がすでに終了している場合、接続が中断された場合など。void close() throws IOException
クライアントとサーバーの接続を終了します。現行の要求または新しい要求が、getMBeanServerConnection()
から返されるMBeanServerConnectionを使用する場合、IOException
がスローされます。
このオブジェクト上で、すでにclose
が呼び出されている場合、もう1回呼び出しても何も起こりません。close
が1回も呼び出されていない場合、または呼出しに対して例外が生成された場合は、接続の終了が試行されます。この試行に成功した場合、close
は通常どおり終了します。失敗した場合は例外が生成されることがあります。
接続の終了は、時間のかかるオペレーションです。たとえばサーバーがクラッシュした場合、終了オペレーションはネットワーク・プロトコルのタイム・アウトまで中断される可能性があります。終了オペレーションの途中で待たされたくない場合は、別スレッドで実行してください。
close
、インタフェース: AutoCloseable
close
、インタフェース: Closeable
IOException
- 接続を正常に終了できない場合。この例外がスローされた場合、接続のサーバー側が正常に終了したかどうかは不明。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)
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)
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)
String getConnectionId() throws IOException
コネクタ・サーバーから、この接続のIDを取得します。コネクタ・サーバー内のすべての接続は一意のIDを持ち、このIDは接続の寿命が尽きるまで変わりません。
JMXConnectionNotification
に格納するIDと同じ。package description
は接続IDの規約の説明。IOException
- 接続の終了、中断などが原因で接続IDを取得できない場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.