|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.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 内の toJMXConnectorJMXConnectorServer 内の toJMXConnectorenv - 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 内の setMBeanServerForwarderJMXConnectorServer 内の setMBeanServerForwardermbsf - 新しい MBeanServerForwarder
protected void connectionOpened(String connectionId,
String message,
Object userData)
JMXConnectorServer の記述:新しいクライアント接続を有効にしたときサブクラスによって呼び出されます。JMXConnectorServer.getConnectionIds() によって返されるリストに connectionId を追加し、JMXConnectionNotification.OPENED 型の JMXConnectionNotification を発行します。
JMXConnectorServer 内の connectionOpenedconnectionId - 新しい接続の 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 内の connectionClosedconnectionId - 終了した接続の 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 内の connectionFailedconnectionId - 失敗した接続の IDmessage - 発行された JMXConnectionNotification のメッセージ。null も可Notification.getMessage() を参照userData - 発行された JMXConnectionNotification の
userData。null も可Notification.getUserData() を参照
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。