|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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 |
start()
コネクタサーバをアクティブにします。 |
void |
stop()
コネクタサーバを終了して、クライアント接続の待機を停止します。 |
JMXConnector |
toJMXConnector(Map<String,?> env)
このコネクタサーバのクライアントスタブを返します。 |
| クラス javax.management.remote.JMXConnectorServer から継承されたメソッド |
|---|
getConnectionIds, getMBeanServer, getNotificationInfo, postDeregister, postRegister, preDeregister, preRegister, setMBeanServerForwarder |
| クラス 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 の場合、空の Map と同等
IllegalArgumentException - url が null の場合
MalformedURLException - url が RMI コネクタの構文に準拠していない場合、またはそのプロトコルがこの実装で認識されない場合。このコンストラクタの使用時には、rmi と jrmp のみが有効
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 の場合、空の Map と同等mbeanServer - 新しいコネクタサーバの接続先 MBean サーバ。このコネクタサーバを MBean サーバに登録することによって MBean サーバに接続する場合は null
IllegalArgumentException - url が null の場合
MalformedURLException - url が RMI コネクタの構文に準拠していない場合、またはそのプロトコルがこの実装で認識されない場合。このコンストラクタの使用時には、rmi と jrmp のみが有効
IOException - 何らかの理由でコネクタサーバを作成できない場合、または start メソッドの失敗を避けられない場合
public RMIConnectorServer(JMXServiceURL url,
Map<String,?> environment,
RMIServerImpl rmiServerImpl,
MBeanServer mbeanServer)
throws IOException
指定された MBean サーバの RMIConnectorServer を作成します。
url - コネクタサーバの作成方法を定義する URL。null は不可environment - RMI オブジェクトの作成と格納を管理する属性。null の場合、空の Map と同等rmiServerImpl - url に指定されたプロトコル型に準拠した、RMIServer インタフェースの実装。このパラメータの値が null 以外の場合、url に指定されたプロトコル型は強制されず、有効と見なされる。それ以外の場合、rmi と iiop のみが認識されるmbeanServer - 新しいコネクタサーバの接続先 MBean サーバ。このコネクタサーバを MBean サーバに登録することによって MBean サーバに接続する場合は null
IllegalArgumentException - url が null の場合
MalformedURLException - url が RMI コネクタの構文に準拠していない場合、またはそのプロトコルがこの実装で認識されない場合。rmiServerImpl が null のときは rmi と jrmp のみが認識される
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 の記述: このコネクタサーバの属性
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 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。