public class RMIConnector extends Object implements JMXConnector, Serializable, JMXAddressable
リモート RMI コネクタへの接続です。通常、こうした接続は、JMXConnectorFactory で作成されます。しかし、JNDI を使用しないで取得される RMIServer スタブなどにより、このクラスを直接使用できる特殊なアプリケーションもあります。
CREDENTIALS| コンストラクタと説明 |
|---|
RMIConnector(JMXServiceURL url, Map<String,?> environment)
指定されたアドレスの RMI コネクタサーバーに接続する
RMIConnector を構築します。 |
RMIConnector(RMIServer rmiServer, Map<String,?> environment)
指定された RMI スタブを使って
RMIConnector を構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
接続状態の変化を通知されるリスナーを追加します。
|
void |
close()
クライアントとサーバーの接続を終了します。
|
void |
connect()
コネクタサーバーとの接続を確立します。
|
void |
connect(Map<String,?> environment)
コネクタサーバーとの接続を確立します。
|
JMXServiceURL |
getAddress()
このコネクタのアドレスです。
|
String |
getConnectionId()
コネクタサーバーから、この接続の ID を取得します。
|
MBeanServerConnection |
getMBeanServerConnection()
リモート MBean サーバーを表す
MBeanServerConnection オブジェクトを返します。 |
MBeanServerConnection |
getMBeanServerConnection(Subject delegationSubject)
指定された委譲対象の代わりにオペレーションを実行する、リモート MBean サーバーを表す
MBeanServerConnection オブジェクトを返します。 |
void |
removeConnectionNotificationListener(NotificationListener listener)
状態の変更を通知されるリスナーをリストから削除します。
|
void |
removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
状態の変更を通知されるリスナーをリストから削除します。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
public RMIConnector(JMXServiceURL url, Map<String,?> environment)
指定されたアドレスの RMI コネクタサーバーに接続する RMIConnector を構築します。
アドレスは、コネクタサーバーを直接参照できます。次のいずれかの構文を使用します。
service:jmx:rmi://[host[:port]]/stub/encoded-stub service:jmx:iiop://[host[:port]]/ior/encoded-IOR
角括弧 [] はアドレスの一部ではなく、ホストとポートがオプションであることを示します。
次のいずれかの構文を使用して、アドレスで、JNDI によって RMI スタブを検索する場所を示すこともできます。
service:jmx:rmi://[host[:port]]/jndi/jndi-name service:jmx:iiop://[host[:port]]/jndi/jndi-name
実装も追加アドレス構文を認識できます。次に例を示します。
service:jmx:iiop://[host[:port]]/stub/encoded-stub
url - RMI コネクタサーバーのアドレス。environment - 接続の作成方法を指定する追加属性。JNDI ベースのアドレスの場合、これらの属性に、InitialContext によって認識される JNDI 属性を含めることができ、有用である。このパラメータが null の場合、空のマップを指定した場合と同じことになる。IllegalArgumentException - url が null である場合。public RMIConnector(RMIServer rmiServer, Map<String,?> environment)
指定された RMI スタブを使って RMIConnector を構築します。
rmiServer - RMI コネクタサーバーを表す RMI スタブ。environment - 接続の作成方法を指定する追加属性。このパラメータが null の場合、空のマップを指定した場合と同じことになる。IllegalArgumentException - rmiServer が null である場合。public String toString()
このオブジェクトの文字列表現を返します。一般に、toString メソッドは、このオブジェクトを「テキストで表す」文字列を返します。この結果は、人間が読める簡潔で有益な情報であるべきです。
public JMXServiceURL getAddress()
このコネクタのアドレスです。
getAddress 、インタフェース: JMXAddressablepublic void connect()
throws IOException
JMXConnectorコネクタサーバーとの接続を確立します。このメソッドは、connect(null) と同等です。
connect 、インタフェース: JMXConnectorIOException - 通信障害により接続を確立できなかった場合、または iiop プロトコルで RMI/IIOP がサポートされていない場合public void connect(Map<String,?> environment) throws IOException
JMXConnectorコネクタサーバーとの接続を確立します。
このオブジェクト上で、すでに connect が呼び出されている場合、もう 1 回呼び出しても何も起こりません。一方、connect のあとで JMXConnector.close() が呼び出されている場合、再度 connect を呼び出すと IOException がスローされます。
このオブジェクト上で connect が 1 回も呼び出されていない場合、または、呼び出しに対して例外が生成された場合、connect を呼び出すとコネクタサーバーとの接続が試行されます。
connect 、インタフェース: JMXConnectorenvironment - 接続のプロパティー。このマップ内のプロパティーは、JMXConnector の作成時に指定されたマップ内のプロパティーをオーバーライドする (存在する場合)。このパラメータが null の場合、空のマップを指定した場合と同じことになる。IOException - 通信障害により接続を確立できなかった場合、または iiop プロトコルで RMI/IIOP がサポートされていない場合public String getConnectionId() throws IOException
JMXConnectorコネクタサーバーから、この接続の ID を取得します。コネクタサーバー内のすべての接続は一意の ID を持ち、この ID は接続の寿命が尽きるまで変わりません。
getConnectionId 、インタフェース: JMXConnectorJMXConnectionNotification に格納する ID と同じ。package description は接続 ID の規約の説明。IOException - 接続の終了、中断などが原因で接続 ID を取得できない場合。public MBeanServerConnection getMBeanServerConnection() throws IOException
JMXConnectorリモート MBean サーバーを表す MBeanServerConnection オブジェクトを返します。通常、JMXConnector に対してこのメソッドを 2 回呼び出した場合、各呼び出しで同じ MBeanServerConnection オブジェクトが返されます。ただし、これは必須条件ではありません。
返された MBeanServerConnection 内の各メソッドに対してこのメソッドを呼び出すと、リモート MBean サーバー内の対応するメソッドが呼び出されます。MBean サーバーメソッドによって返される値が、クライアントに返される値となります。MBean サーバーメソッドが Exception をスローした場合、クライアントには同じ Exception が返されます。MBean サーバーメソッド自体、またはその呼び出しの試行で Error が発生した場合、クライアントには、発生した Error をラップする JMXServerErrorException が返されます。
このメソッドの呼び出しは、getMBeanServerConnection(null) の呼び出しと同等です。委譲対象が指定されておらず、MBeanServerConnection 上で呼び出されたすべてのオペレーションは認証対象 (存在する場合) を使用する必要があります。
getMBeanServerConnection 、インタフェース: JMXConnectorMBeanServerConnection インタフェースを実装するオブジェクト。IOException - 有効な MBeanServerConnection を作成できない場合。たとえば、connect メソッドによるリモート MBean サーバーとの接続がまだ確立されていない場合、MBean サーバーとの接続がすでに終了している場合、接続が中断された場合など。public MBeanServerConnection getMBeanServerConnection(Subject delegationSubject) throws IOException
JMXConnector指定された委譲対象の代わりにオペレーションを実行する、リモート MBean サーバーを表す MBeanServerConnection オブジェクトを返します。通常、JMXConnector および Subject に対してこのメソッドを 2 回呼び出した場合、各呼び出しで同じ MBeanServerConnection オブジェクトが返されます。ただし、これは必須条件ではありません。
返された MBeanServerConnection 内の各メソッドに対してこのメソッドを呼び出すと、認証対象ではなく委譲対象に代わって、リモート MBean サーバー内の対応するメソッドが呼び出されます。MBean サーバーメソッドによって返される値が、クライアントに返される値となります。MBean サーバーメソッドが Exception をスローした場合、クライアントには同じ Exception が返されます。MBean サーバーメソッド自体、またはその呼び出しの試行で Error が発生した場合、クライアントには、発生した Error をラップする JMXServerErrorException が返されます。
getMBeanServerConnection 、インタフェース: JMXConnectordelegationSubject - Subject。これの代わりに要求が実行される。null も可、その場合は認証済み Subject の代わりに要求が実行される (存在する場合)。MBeanServerConnection インタフェースを実装するオブジェクト。IOException - 有効な MBeanServerConnection を作成できない場合。たとえば、connect メソッドによるリモート MBean サーバーとの接続がまだ確立されていない場合、MBean サーバーとの接続がすでに終了している場合、接続が中断された場合など。public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
JMXConnector接続状態の変化を通知されるリスナーを追加します。このリスナーは、JMXConnectionNotification 型の通知を受信します。実装により、これ以外の型の通知が送信される場合もあります。
このメソッドに追加できるリスナーの数に制限はありません。フィルタとハンドバックに同一の値または異なった値を指定して、同一のリスナーを繰り返し追加することも可能です。複製エントリも特別扱いされません。たとえば、リスナーをフィルタなしで 2 回登録した場合、各通知で、このリスナーの handleNotification メソッドが 2 回呼び出されます。
addConnectionNotificationListener 、インタフェース: JMXConnectorlistener - 接続状態通知を受け取るリスナー。filter - リスナーに配信される通知を選択するフィルタ。すべての通知を配信する場合は null。handback - 各通知とともにリスナーに渡されるオブジェクト。null も可。JMXConnector.removeConnectionNotificationListener(javax.management.NotificationListener), NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)public void removeConnectionNotificationListener(NotificationListener listener) throws ListenerNotFoundException
JMXConnector状態の変更を通知されるリスナーをリストから削除します。削除対象として指定できるのは、以前に追加されたリスナーのみです。条件に該当するリスナーが複数存在する場合、すべて削除されます。
removeConnectionNotificationListener 、インタフェース: JMXConnectorlistener - 接続状態通知を受け取るリスナー。ListenerNotFoundException - リスナーがこの JMXConnector に登録されていない場合。JMXConnector.removeConnectionNotificationListener(NotificationListener, NotificationFilter, Object), JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object), NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)public void removeConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
JMXConnector状態の変更を通知されるリスナーをリストから削除します。削除対象として指定できるのは、以前に同じ 3 つのパラメータで追加されたリスナーのみです。条件に該当するリスナーが複数存在する場合も、削除されるのは 1 つだけです。
removeConnectionNotificationListener 、インタフェース: JMXConnectorlistener - 接続状態通知を受け取るリスナー。filter - リスナーに配信される通知を選択するフィルタ。null も可。handback - 各通知とともにリスナーに渡されるオブジェクト。null も可。ListenerNotFoundException - リスナーがこの JMXConnector に登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。JMXConnector.removeConnectionNotificationListener(NotificationListener), JMXConnector.addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object), NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)public void close()
throws IOException
JMXConnectorクライアントとサーバーの接続を終了します。現行の要求または新しい要求が、JMXConnector.getMBeanServerConnection() から返される MBeanServerConnection を使用する場合、IOException がスローされます。
このオブジェクト上で、すでに close が呼び出されている場合、もう 1 回呼び出しても何も起こりません。close が 1 回も呼び出されていない場合、または、呼び出しに対して例外が生成された場合は、接続の終了が試行されます。この試行に成功した場合、close は通常どおり終了します。失敗した場合は例外が生成されることがあります。
接続の終了は、時間のかかるオペレーションです。たとえばサーバーがクラッシュした場合、終了オペレーションはネットワークプロトコルのタイムアウトまで中断される可能性があります。終了オペレーションの途中で待たされたくない場合は、別スレッドで実行してください。
close 、インタフェース: Closeableclose 、インタフェース: AutoCloseableclose 、インタフェース: JMXConnectorIOException - 接続を正常に終了できない場合。この例外がスローされた場合、接続のサーバー側が正常に終了したかどうかは不明。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.