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