|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.management.NotificationBroadcasterSupport javax.management.remote.JMXConnectorServer javax.management.remote.rmi.RMIConnectorServer
public class RMIConnectorServer
リモートクライアントからの RMI ベースの接続を作成する JMX API コネクタサーバーです。通常、こうしたコネクタサーバーの作成には、JMXConnectorServerFactory
が使用されます。しかし、RMIServerImpl
オブジェクトなど、このクラスを使用できる特殊なアプリケーションもあります。
フィールドの概要 | |
---|---|
static String |
JNDI_REBIND_ATTRIBUTE
RMI コネクタサーバーを表す RMIServer スタブが同じアドレスの既存のスタブをオーバーライドするかどうかを指定する属性の名前です。 |
static String |
RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE
作成された RMI オブジェクトの RMIClientSocketFactory をこのコネクタに指定する属性の名前です。 |
static String |
RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE
作成された RMI オブジェクトの RMIServerSocketFactory をこのコネクタに指定する属性の名前です。 |
クラス javax.management.remote.JMXConnectorServer から継承されたフィールド |
---|
AUTHENTICATOR |
コンストラクタの概要 | |
---|---|
RMIConnectorServer(JMXServiceURL url,
Map<String,?> environment)
RMIConnectorServer を作成します。 |
|
RMIConnectorServer(JMXServiceURL url,
Map<String,?> environment,
MBeanServer mbeanServer)
指定された MBean サーバーの RMIConnectorServer を作成します。 |
|
RMIConnectorServer(JMXServiceURL url,
Map<String,?> environment,
RMIServerImpl rmiServerImpl,
MBeanServer mbeanServer)
指定された MBean サーバーの RMIConnectorServer を作成します。 |
メソッドの概要 | |
---|---|
protected void |
connectionClosed(String connectionId,
String message,
Object userData)
クライアント接続が正常に終了したときサブクラスによって呼び出されます。 |
protected void |
connectionFailed(String connectionId,
String message,
Object userData)
クライアント接続に失敗したときサブクラスによって呼び出されます。 |
protected void |
connectionOpened(String connectionId,
String message,
Object userData)
新しいクライアント接続を有効にしたときサブクラスによって呼び出されます。 |
JMXServiceURL |
getAddress()
|
Map<String,?> |
getAttributes()
|
boolean |
isActive()
コネクタサーバーがアクティブかどうかを判定します。 |
void |
setMBeanServerForwarder(MBeanServerForwarder mbsf)
このコネクタサーバー経由で着信した MBean サーバーへの要求を遮断するオブジェクトを追加します。 |
void |
start()
アクティブになったコネクタサーバーは、クライアント接続の待機を開始します。 |
void |
stop()
コネクタサーバーを終了して、クライアント接続の待機を停止します。 |
JMXConnector |
toJMXConnector(Map<String,?> env)
このコネクタサーバーのクライアントスタブを返します。 |
クラス javax.management.remote.JMXConnectorServer から継承されたメソッド |
---|
getConnectionIds, getMBeanServer, getNotificationInfo, postDeregister, postRegister, preDeregister, preRegister |
クラス javax.management.NotificationBroadcasterSupport から継承されたメソッド |
---|
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final String JNDI_REBIND_ATTRIBUTE
RMI コネクタサーバーを表す RMIServer
スタブが同じアドレスの既存のスタブをオーバーライドするかどうかを指定する属性の名前です。この属性に値を関連付ける場合、"true"
または "false"
と同等の文字列 (英字の大文字と小文字の区別はしない) を指定する必要があります。デフォルト値は false です。
public static final String RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE
作成された RMI オブジェクトの RMIClientSocketFactory
をこのコネクタに指定する属性の名前です。この属性には、RMIClientSocketFactory
型の値を関連付ける必要があります。 この値は、コネクタサーバーの作成時に指定された Map
引数内にしか指定できません。
public static final String RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE
作成された RMI オブジェクトの RMIServerSocketFactory
をこのコネクタに指定する属性の名前です。この属性には、RMIServerSocketFactory
型の値を関連付ける必要があります。 この値は、コネクタサーバーの作成時に指定された Map
引数内にしか指定できません。
コンストラクタの詳細 |
---|
public RMIConnectorServer(JMXServiceURL url, Map<String,?> environment) throws IOException
RMIConnectorServer
を作成します。この処理は、RMIConnectorServer(directoryURL,environment,null,null)
の呼び出しと同等です。
url
- コネクタサーバーの作成方法を定義する URL。null は不可environment
- RMI オブジェクトの作成と格納を 管理する属性。このパラメータが null の場合、 空のマップを指定した場合と同じことになる
IllegalArgumentException
- url
が null の場合
MalformedURLException
- url
が RMI コネクタの構文に準拠していない場合、 またはそのプロトコルがこの実装で認識されない場合。このコンストラクタの使用時には、 rmi と iiop のみが有効
IOException
- 何らかの理由でコネクタサーバーを作成できない場合、 または start
メソッドの失敗を 避けられない場合public RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, MBeanServer mbeanServer) throws IOException
指定された MBean サーバーの RMIConnectorServer
を作成します。この処理は、RMIConnectorServer(directoryURL,environment,null,mbeanServer)
の呼び出しと同等です。
url
- コネクタサーバーの作成方法を定義する URL。null は不可environment
- RMI オブジェクトの作成と格納を 管理する属性。このパラメータが null の場合、 空のマップを指定した場合と同じことになるmbeanServer
- 新しいコネクタサーバーの接続先 MBean サーバー。 このコネクタサーバーを MBean サーバーに登録することによって MBean サーバーに接続する場合は null
IllegalArgumentException
- url
が null の場合
MalformedURLException
- url
が RMI コネクタの構文に準拠していない場合、 またはそのプロトコルがこの実装で認識されない場合。このコンストラクタの使用時には、 rmi と iiop のみが有効
IOException
- 何らかの理由でコネクタサーバーを作成できない場合、 または start
メソッドの失敗を 避けられない場合public RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, RMIServerImpl rmiServerImpl, MBeanServer mbeanServer) throws IOException
指定された MBean サーバーの RMIConnectorServer
を作成します。
url
- コネクタサーバーの作成方法を定義する URL。null は不可environment
- RMI オブジェクトの作成と格納を 管理する属性。このパラメータが null の場合、 空のマップを指定した場合と同じことになるrmiServerImpl
- url に指定されたプロトコル型に準拠した、 RMIServer インタフェースの実装。このパラメータの値が null 以外の場合、 url に指定されたプロトコル型は強制されず、有効と見なされる。それ以外の場合、rmi と iiop のみが認識されるmbeanServer
- 新しいコネクタサーバーの接続先 MBean サーバー。 このコネクタサーバーを MBean サーバーに登録することによって MBean サーバーに接続する場合は null
IllegalArgumentException
- url
が null の場合
MalformedURLException
- url
が RMI コネクタの構文に準拠していない場合、 またはそのプロトコルがこの実装で認識されない場合。rmiServerImpl が null のときは、 rmi と iiop のみが認識される
IOException
- 何らかの理由でコネクタサーバーを作成できない場合、 または start
メソッドの失敗を 避けられない場合start()
メソッドの詳細 |
---|
public JMXConnector toJMXConnector(Map<String,?> env) throws IOException
このコネクタサーバーのクライアントスタブを返します。クライアントスタブは直列化可能なオブジェクトです。 このオブジェクトの connect
メソッドを使って、このコネクタサーバーとの新しい接続を 1 つ確立できます。
JMXConnectorServerMBean
内の toJMXConnector
JMXConnectorServer
内の toJMXConnector
env
- JMXConnector.connect(Map)
に提供可能な 同じ種類のクライアント接続パラメータ。null は 空マップと同等
UnsupportedOperationException
- このコネクタサーバーがクライアントスタブの 生成機能をサポートしない場合
IllegalStateException
- JMXConnectorServer が起動していない場合 (isActive()
を参照)
IOException
- 通信障害により、 スタブを作成できない場合public void start() throws IOException
アクティブになったコネクタサーバーは、クライアント接続の待機を開始します。コネクタサーバーがすでにアクティブな場合は、このメソッドを呼び出しても何も起こりません。コネクタサーバーが停止している状態でこのメソッドを呼び出すと、IOException
が生成されます。
初期呼び出し時のこのメソッドの動作は、次のように、構築時に指定されたパラメータに依存します。
まず、RMI からコネクタサーバーをエクスポートするため、RMIServerImpl
のサブクラスのオブジェクトが要求されます。
RMIServerImpl
がある場合、これが使用される
JMXServiceURL
のプロトコル部分が iiop
であれば、RMIIIOPServerImpl
型のオブジェクトが作成される
JMXServiceURL
が null であるか、そのプロトコル部分が rmi
であれば、RMIJRMPServerImpl
型のオブジェクトが作成される
RMIServerImpl
を作成できる。 または MalformedURLException
をスローできる
指定されたアドレスに、javax.management.remote.rmi
のパッケージドキュメントの指定どおりの JNDI ディレクトリ URL が含まれる場合、この RMIConnectorServer
は、指定されたアドレスに RMIServerImpl
をバインドすることにより、ブートストラップします。
JMXServiceURL
の URL パス部分が空または単一のスラッシュ (/
) である場合、RMI オブジェクトはディレクトリにバインドされません。代わりに、その参照が、getAddress()
から返される RMIConnectorServer アドレスの URL パス内に符号化されます。rmi
および iiop
の符号化については、javax.management.remote.rmi
のパッケージドキュメントに記載されています。
URL パスが空でなく、JNDI ディレクトリ URL でもない場合、またはプロトコルが rmi
でも iiop
でもない場合の動作は、実装ごとに定義されています。 コネクタサーバーの作成時または開始時に MalformedURLException
をスローする動作が定義されている場合もあります。
IllegalStateException
- コネクタサーバーが MBean サーバーに 接続されていない場合
IOException
- コネクタサーバーを 起動できない場合public void stop() throws IOException
コネクタサーバーを終了して、クライアント接続の待機を停止します。このメソッドを呼び出すと、このサーバーで作成されたすべてのクライアント接続が終了します。このメソッドが正常に終了した場合も、例外を生成して終了した場合も、コネクタサーバーは新しいクライアント接続を作成しなくなります。
いったん停止したコネクタサーバーを再度起動することはできません。
コネクタサーバーがすでに停止している場合は、このメソッドを呼び出しても何も起こりません。コネクタサーバーがまだ起動していない状態でこのメソッドを呼び出すと、コネクタサーバーオブジェクトが永続的に無効化されます。
クライアント接続の終了時に生成された例外は、このメソッドからはスローされません。この MBean からは、JMXConnectionNotification
と、終了できなかった接続の接続 ID が発行されます。
コネクタサーバーの終了は、時間のかかるオペレーションです。たとえば有効な接続を持っているクライアントマシンがクラッシュした場合、終了オペレーションはネットワークプロトコルのタイムアウトまで中断される可能性があります。終了オペレーションの途中で待たされたくない場合は、別スレッドで実行してください。
このメソッドは、コネクタサーバーの RMIServerImpl
オブジェクト上で close
メソッドを呼び出します。
start
メソッドで RMIServerImpl
が JNDI ディレクトリにバインドされている場合、このメソッドでバインドが解除されます。
IOException
- サーバーを正常に終了できない場合、 またはディレクトリから RMIServerImpl
のバインドを解除できない 場合。この例外がスローされたとき、 サーバーはすでにすべてのクライアント接続の終了処理、 RMIServerImpl.close()
の呼び出し、 および RMIServerImpl
のバインド解除を 必要に応じて試行している。サーバーが終了を試行したとき例外が生成されたものを除いて、 すべてのクライアント接続は 終了しているpublic boolean isActive()
JMXConnectorServerMBean
の記述:コネクタサーバーがアクティブかどうかを判定します。start
メソッドが正常に終了すると、コネクタサーバーはアクティブになります。 その後、stop
メソッドが呼び出されるか、障害が発生するまで、コネクタサーバーはアクティブな状態を維持します。
public JMXServiceURL getAddress()
JMXConnectorServerMBean
の記述:このコネクタサーバーのアドレス
public Map<String,?> getAttributes()
JMXConnectorServerMBean
の記述:このコネクタサーバーの属性
public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
JMXConnectorServerMBean
の記述:このコネクタサーバー経由で着信した MBean サーバーへの要求を遮断するオブジェクトを追加します。このオブジェクトは、このコネクタサーバーによって作成された新しい接続の MBeanServer
として指定されます。既存の接続に影響はありません。
このコネクタサーバーがすでに MBeanServer
オブジェクトに関連付けられている場合は、mbsf.setMBeanServer
にこのオブジェクトが渡されます。この処理で例外が生成された場合、このメソッドはその例外をスローします。
スローされる例外は、何の影響も持ちません。 このコネクタがまだ MBeanServer
オブジェクトに関連付けられていない場合、または mbsf.setMBeanServer
呼び出しが成功した場合、mbsf
がこのコネクタサーバーの MBeanServer
になります。
JMXConnectorServerMBean
内の setMBeanServerForwarder
JMXConnectorServer
内の setMBeanServerForwarder
mbsf
- 新しい MBeanServerForwarder
protected void connectionOpened(String connectionId, String message, Object userData)
JMXConnectorServer
の記述:新しいクライアント接続を有効にしたときサブクラスによって呼び出されます。JMXConnectorServer.getConnectionIds()
によって返されるリストに connectionId
を追加し、JMXConnectionNotification.OPENED
型の JMXConnectionNotification
を発行します。
JMXConnectorServer
内の connectionOpened
connectionId
- 新しい接続の ID。以前にこのコネクタサーバーによって 有効になった接続の ID とは 異なっていなければならないmessage
- 発行された JMXConnectionNotification
のメッセージ。null も可Notification.getMessage()
を参照userData
- 発行された JMXConnectionNotification
の userData
。null も可Notification.getUserData()
を参照protected void connectionClosed(String connectionId, String message, Object userData)
JMXConnectorServer
の記述:クライアント接続が正常に終了したときサブクラスによって呼び出されます。JMXConnectorServer.getConnectionIds()
によって返されるリストから connectionId
を削除し、JMXConnectionNotification.CLOSED
型の JMXConnectionNotification
を発行します。
JMXConnectorServer
内の connectionClosed
connectionId
- 終了した接続の IDmessage
- 発行された JMXConnectionNotification
のメッセージ。null も可Notification.getMessage()
を参照userData
- 発行された JMXConnectionNotification
の userData
。null も可Notification.getUserData()
を参照protected void connectionFailed(String connectionId, String message, Object userData)
JMXConnectorServer
の記述:クライアント接続に失敗したときサブクラスによって呼び出されます。JMXConnectorServer.getConnectionIds()
によって返されるリストから connectionId
を削除し、JMXConnectionNotification.FAILED
型の JMXConnectionNotification
を発行します。
JMXConnectorServer
内の connectionFailed
connectionId
- 失敗した接続の IDmessage
- 発行された JMXConnectionNotification
のメッセージ。null も可Notification.getMessage()
を参照userData
- 発行された JMXConnectionNotification
の userData
。null も可Notification.getUserData()
を参照
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。