JavaTM 2 Platform
Standard Ed. 5.0

javax.management.remote.rmi
インタフェース RMIConnection

すべてのスーパーインタフェース:
Remote
既知の実装クラスの一覧:
RMIConnectionImpl, RMIConnectionImpl_Stub

public interface RMIConnection
extends Remote

クライアントからサーバ側の MBeanServer 実装へ MBeanServer 要求を送信するために使用される RMI オブジェクトです。RMI コネクタに接続されたリモートクライアントごとに、このインタフェースを実装する Remote オブジェクトが 1 つずつ提供されます。

ユーザコードは、必ずしもこのインタフェースを参照しません。このインタフェースは、API の実装が異なる場合も相互運用できるように、公開 API の一部として指定されています。

クライアントパラメータを、サーバ側の正しいクラスローダで直列化復元するため、メソッド呼び出しに使用されるようなクライアントパラメータは MarshalledObject にラップされます。このインタフェースの実装は、まずオペレーションとそのターゲットの適切なクラスローダを取得してから、このクラスローダを使って整列化パラメータを直列化復元します。特に記載されていないかぎり、パラメータ MarshalledObject または MarshalledObject[] は null 以外とします。null の場合、パラメータの動作は不定となります。

クラスのロードに関する詳細は、このドキュメントを補足する付属の『JMX Remote API』を参照してください。このドキュメントは、この Javadoc 仕様と同じ場所に PDF 文書として格納されています。

導入されたバージョン:
1.5

メソッドの概要
 void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
          MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) メソッドを処理します。
 Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)
          MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) メソッドを処理します。
 void close()
          この接続を終了します。
 ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)
          MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]) メソッドを処理します。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)
          MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]) メソッドを処理します。
 ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)
          MBeanServerConnection.createMBean(String, ObjectName, ObjectName) メソッドを処理します。
 ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject)
          MBeanServerConnection.createMBean(String, ObjectName) メソッドを処理します。
 NotificationResult fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout)
          コネクタサーバから通知を受信します。
 Object getAttribute(ObjectName name, String attribute, Subject delegationSubject)
          MBeanServerConnection.getAttribute(ObjectName, String) メソッドを処理します。
 AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)
          MBeanServerConnection.getAttributes(ObjectName, String[]) メソッドを処理します。
 String getConnectionId()
          接続 ID を返します。
 String getDefaultDomain(Subject delegationSubject)
          MBeanServerConnection.getDefaultDomain() メソッドを処理します。
 String[] getDomains(Subject delegationSubject)
          MBeanServerConnection.getDomains() メソッドを処理します。
 Integer getMBeanCount(Subject delegationSubject)
          MBeanServerConnection.getMBeanCount() メソッドを処理します。
 MBeanInfo getMBeanInfo(ObjectName name, Subject delegationSubject)
          MBeanServerConnection.getMBeanInfo(ObjectName) メソッドを処理します。
 ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject)
          MBeanServerConnection.getObjectInstance(ObjectName) メソッドを処理します。
 Object invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)
          MBeanServerConnection.invoke(ObjectName, String, Object[], String[]) メソッドを処理します。
 boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject)
          MBeanServerConnection.isInstanceOf(ObjectName, String) メソッドを処理します。
 boolean isRegistered(ObjectName name, Subject delegationSubject)
          MBeanServerConnection.isRegistered(ObjectName) メソッドを処理します。
 Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)
          MBeanServerConnection.queryMBeans(ObjectName, QueryExp) メソッドを処理します。
 Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)
          MBeanServerConnection.queryNames(ObjectName, QueryExp) メソッドを処理します。
 void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
          MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) メソッドを処理します。
 void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)
          MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName) メソッドを処理します。
 void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)
          removeNotificationListener(ObjectName, NotificationListener) および removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) メソッドを処理します。
 void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)
          MBeanServerConnection.setAttribute(ObjectName, Attribute) メソッドを処理します。
 AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)
          MBeanServerConnection.setAttributes(ObjectName, AttributeList) メソッドを処理します。
 void unregisterMBean(ObjectName name, Subject delegationSubject)
          MBeanServerConnection.unregisterMBean(ObjectName) メソッドを処理します。
 

メソッドの詳細

getConnectionId

String getConnectionId()
                       throws IOException

接続 ID を返します。この文字列は、指定の RMI コネクタサーバへの有効な接続ごとに異なります。

戻り値:
接続 ID
例外:
IOException - 一般的な通信例外が発生した場合
関連項目:
RMIConnector.connect

close

void close()
           throws IOException

この接続を終了します。このメソッドの終了時には、これ以上リモート呼び出しの失敗が起こらないように、このインタフェースを実装する RMI オブジェクトがアンエクスポートされます。

例外:
IOException - 接続を終了できなかった場合、Remote オブジェクトをアンエクスポートできなかった場合、またはリモート終了要求の転送時に通信障害が発生した場合

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException
MBeanServerConnection.createMBean(String, ObjectName) メソッドを処理します。

パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null も可
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする
InstanceAlreadyExistsException - MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした。MBean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName がパターンであるか、MBean に ObjectName が指定されていない
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName,
                           Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException
MBeanServerConnection.createMBean(String, ObjectName, ObjectName) メソッドを処理します。

パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null も可
loaderName - 使用するクラスローダのオブジェクト名
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする
InstanceAlreadyExistsException - MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした。MBean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない
InstanceNotFoundException - 指定されたクラスローダが MBean サーバに登録されていない場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName がパターンであるか、MBean に ObjectName が指定されていない
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           MarshalledObject params,
                           String[] signature,
                           Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  IOException
MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]) メソッドを処理します。Object[] パラメータは MarshalledObject にラップされています。

パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null も可
params - コンストラクタのパラメータを含む配列。この配列は、呼び出されたあと、MarshalledObject にカプセル化される。カプセル化された配列が null の場合、空配列と同じ意味になる
signature - コンストラクタのシグニチャーを含む配列。この配列が呼び出される。null の場合、空配列と同じ意味になる
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする
InstanceAlreadyExistsException - MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした。MBean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName にパターンが含まれているか、MBean に ObjectName が指定されていない
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

createMBean

ObjectInstance createMBean(String className,
                           ObjectName name,
                           ObjectName loaderName,
                           MarshalledObject params,
                           String[] signature,
                           Subject delegationSubject)
                           throws ReflectionException,
                                  InstanceAlreadyExistsException,
                                  MBeanRegistrationException,
                                  MBeanException,
                                  NotCompliantMBeanException,
                                  InstanceNotFoundException,
                                  IOException
MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]) メソッドを処理します。Object[] パラメータは MarshalledObject にラップされています。

パラメータ:
className - インスタンス化する MBean のクラス名
name - MBean のオブジェクト名。null も可
loaderName - 使用するクラスローダのオブジェクト名
params - コンストラクタのパラメータを含む配列。この配列は、呼び出されたあと、MarshalledObject にカプセル化される。カプセル化された配列が null の場合、空配列と同じ意味になる
signature - コンストラクタのシグニチャーを含む配列。この配列が呼び出される。null の場合、空配列と同じ意味になる
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
新しくインスタンス化された MBean の ObjectName と Java クラス名を含む ObjectInstanceObjectNamen の場合、Java クラス名は getMBeanInfo(n).getClassName()
例外:
ReflectionException - MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException または java.lang.Exception をラップする
InstanceAlreadyExistsException - MBean がすでに MBean サーバによって制御されている場合
MBeanRegistrationException - MBean の preRegister (MBeanRegistration interface) メソッドが例外をスローした。MBean は登録されない
MBeanException - MBean のコンストラクタが例外をスローした
NotCompliantMBeanException - このクラスが JMX 準拠の MBean でない
InstanceNotFoundException - 指定されたクラスローダが MBean サーバに登録されていない場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。つまり、パラメータに渡される className が null であるか、パラメータに渡される ObjectName にパターンが含まれているか、MBean に ObjectName が指定されていない
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

unregisterMBean

void unregisterMBean(ObjectName name,
                     Subject delegationSubject)
                     throws InstanceNotFoundException,
                            MBeanRegistrationException,
                            IOException
MBeanServerConnection.unregisterMBean(ObjectName) メソッドを処理します。

パラメータ:
name - 登録解除する MBean のオブジェクト名
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
MBeanRegistrationException - MBean の preDeregister (MBeanRegistration interface) メソッドが例外をスローした
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null であるか、登録解除しようとしている MBean が MBeanServerDelegate である
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

getObjectInstance

ObjectInstance getObjectInstance(ObjectName name,
                                 Subject delegationSubject)
                                 throws InstanceNotFoundException,
                                        IOException
MBeanServerConnection.getObjectInstance(ObjectName) メソッドを処理します。

パラメータ:
name - MBean のオブジェクト名
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
name で指定された MBean に関連付けられた ObjectInstanceObjectNamename で、含まれるクラス名は getMBeanInfo(name).getClassName()
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

queryMBeans

Set<ObjectInstance> queryMBeans(ObjectName name,
                                MarshalledObject query,
                                Subject delegationSubject)
                                throws IOException
MBeanServerConnection.queryMBeans(ObjectName, QueryExp) メソッドを処理します。QueryExpMarshalledObject にラップされています。

パラメータ:
name - 取得する MBean を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべての MBean が取得される
query - MBean の選択に適用されるクエリー式。MarshalledObject にカプセル化されている。MarshalledObject に null 値がカプセル化されている場合、MBean の選択にクエリー式は適用されない
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
選択された MBean の ObjectInstance オブジェクトを含むセット。クエリーの条件を満たす MBean が存在しない場合、空のリストが返される
例外:
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

queryNames

Set<ObjectName> queryNames(ObjectName name,
                           MarshalledObject query,
                           Subject delegationSubject)
                           throws IOException
MBeanServerConnection.queryNames(ObjectName, QueryExp) メソッドを処理します。QueryExpMarshalledObject にラップされています。

パラメータ:
name - 取得する MBean 名を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべての MBean の名前が取得される
query - MBean の選択に適用されるクエリー式。MarshalledObject にカプセル化されている。MarshalledObject に null 値がカプセル化されている場合、MBean の選択にクエリー式は適用されない
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
選択された MBean の ObjectName を含むセット。クエリーの条件を満たす MBean が存在しない場合、空のリストが返される
例外:
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

isRegistered

boolean isRegistered(ObjectName name,
                     Subject delegationSubject)
                     throws IOException
MBeanServerConnection.isRegistered(ObjectName) メソッドを処理します。

パラメータ:
name - チェック対象の MBean のオブジェクト名
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
MBean がすでに MBean サーバに登録されている場合は true、そうでない場合は false
例外:
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

getMBeanCount

Integer getMBeanCount(Subject delegationSubject)
                      throws IOException
MBeanServerConnection.getMBeanCount() メソッドを処理します。

パラメータ:
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
登録済みの MBean の数
例外:
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

getAttribute

Object getAttribute(ObjectName name,
                    String attribute,
                    Subject delegationSubject)
                    throws MBeanException,
                           AttributeNotFoundException,
                           InstanceNotFoundException,
                           ReflectionException,
                           IOException
MBeanServerConnection.getAttribute(ObjectName, String) メソッドを処理します。

パラメータ:
name - MBean のオブジェクト名。この MBean の属性が取得される
attribute - 取得される属性の名前を指定する String
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
取得される属性の値
例外:
AttributeNotFoundException - MBean の指定された属性がアクセス不能である場合
MBeanException - MBean の取得メソッドによってスローされる例外をラップする場合
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
ReflectionException - 取得メソッドの呼び出し時にスローされる java.lang.Exception をラップする
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内の属性が null
RuntimeMBeanException - MBean の取得メソッドによってスローされる実行時例外をラップする
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
関連項目:
setAttribute(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)

getAttributes

AttributeList getAttributes(ObjectName name,
                            String[] attributes,
                            Subject delegationSubject)
                            throws InstanceNotFoundException,
                                   ReflectionException,
                                   IOException
MBeanServerConnection.getAttributes(ObjectName, String[]) メソッドを処理します。

パラメータ:
name - MBean のオブジェクト名。この MBean の属性が取得される
attributes - 取得される属性のリスト
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
取得される属性のリスト
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
ReflectionException - Dynamic MBean の getAttributes メソッドの呼び出し時に例外が発生した場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内の属性が null
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
関連項目:
setAttributes(javax.management.ObjectName, java.rmi.MarshalledObject, javax.security.auth.Subject)

setAttribute

void setAttribute(ObjectName name,
                  MarshalledObject attribute,
                  Subject delegationSubject)
                  throws InstanceNotFoundException,
                         AttributeNotFoundException,
                         InvalidAttributeValueException,
                         MBeanException,
                         ReflectionException,
                         IOException
MBeanServerConnection.setAttribute(ObjectName, Attribute) メソッドを処理します。Attribute パラメータは MarshalledObject にラップされています。

パラメータ:
name - MBean 名。この MBean の属性が設定される
attribute - 設定される属性と、設定後 MarshalledObject にカプセル化される値の ID
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
AttributeNotFoundException - MBean の指定された属性がアクセス不能である場合
InvalidAttributeValueException - 指定された値が、属性に対する有効な値でない場合
MBeanException - MBean の設定メソッドによってスローされる例外をラップする場合
ReflectionException - 設定メソッドの呼び出し時にスローされる java.lang.Exception をラップする
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内の属性が null
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
関連項目:
getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)

setAttributes

AttributeList setAttributes(ObjectName name,
                            MarshalledObject attributes,
                            Subject delegationSubject)
                            throws InstanceNotFoundException,
                                   ReflectionException,
                                   IOException
MBeanServerConnection.setAttributes(ObjectName, AttributeList) メソッドを処理します。AttributeList パラメータは MarshalledObject にラップされています。

パラメータ:
name - MBean のオブジェクト名。この MBean の属性が設定される
attributes - 属性のリスト。設定される属性と、設定後 MarshalledObject にカプセル化される値の ID
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
設定された属性と新しい値のリスト
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
ReflectionException - Dynamic MBean の getAttributes メソッドの呼び出し時に例外が発生した場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内の属性が null
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
関連項目:
getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)

invoke

Object invoke(ObjectName name,
              String operationName,
              MarshalledObject params,
              String[] signature,
              Subject delegationSubject)
              throws InstanceNotFoundException,
                     MBeanException,
                     ReflectionException,
                     IOException
MBeanServerConnection.invoke(ObjectName, String, Object[], String[]) メソッドを処理します。Object[] パラメータは MarshalledObject にラップされています。

パラメータ:
name - メソッドの呼び出しが行われる MBean のオブジェクト名
operationName - 呼び出されるオペレーションの名前
params - オペレーションが呼び出され、MarshalledObject にカプセル化されたとき設定されるパラメータを含む配列。カプセル化された配列が null の場合、空配列と同じ意味になる
signature - オペレーションのシグニチャーを含む配列。クラスオブジェクトのロードには、オペレーションを呼び出した MBean をロードするときと同じクラスローダが使用される。null の場合、空配列と同じ意味になる
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
オペレーションによって返されるオブジェクト。指定された MBean 上でオペレーションを呼び出した結果を表す
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
MBeanException - MBean の呼び出しメソッドによってスローされる例外をラップする場合
ReflectionException - メソッドの呼び出し時にスローされる java.lang.Exception をラップする
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
RuntimeOperationsException - name または operationName が null の場合、IllegalArgumentException をラップする

getDefaultDomain

String getDefaultDomain(Subject delegationSubject)
                        throws IOException
MBeanServerConnection.getDefaultDomain() メソッドを処理します。

パラメータ:
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
デフォルトのドメイン
例外:
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

getDomains

String[] getDomains(Subject delegationSubject)
                    throws IOException
MBeanServerConnection.getDomains() メソッドを処理します。

パラメータ:
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
ドメインのリスト
例外:
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合

getMBeanInfo

MBeanInfo getMBeanInfo(ObjectName name,
                       Subject delegationSubject)
                       throws InstanceNotFoundException,
                              IntrospectionException,
                              ReflectionException,
                              IOException
MBeanServerConnection.getMBeanInfo(ObjectName) メソッドを処理します。

パラメータ:
name - 分析対象の MBean の名前
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
MBeanInfo のインスタンス。この MBean のすべての属性とオペレーションの取得を許可する
例外:
IntrospectionException - イントロスペクション中に例外が発生した場合
InstanceNotFoundException - 指定された MBean が見つからなかった場合
ReflectionException - Dynamic MBean の getMBeanInfo メソッドの呼び出し時に例外が発生した場合
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null

isInstanceOf

boolean isInstanceOf(ObjectName name,
                     String className,
                     Subject delegationSubject)
                     throws InstanceNotFoundException,
                            IOException
MBeanServerConnection.isInstanceOf(ObjectName, String) メソッドを処理します。

パラメータ:
name - MBean の ObjectName
className - クラスの名前
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
戻り値:
上記の規則に従って、指定された MBean が指定されたクラスのインスタンスである場合は true、そうでない場合は false
例外:
InstanceNotFoundException - 指定された MBean が MBean サーバに登録されていない場合
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
RuntimeOperationsException - java.lang.IllegalArgumentException をラップする。すなわち、パラメータ内のオブジェクト名が null

addNotificationListener

void addNotificationListener(ObjectName name,
                             ObjectName listener,
                             MarshalledObject filter,
                             MarshalledObject handback,
                             Subject delegationSubject)
                             throws InstanceNotFoundException,
                                    IOException
MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) メソッドを処理します。NotificationFilter パラメータは MarshalledObject にラップされています。Object (ハンドバック) パラメータも MarshalledObject にラップされています。

パラメータ:
name - リスナーが追加される MBean の名前
listener - 登録済み MBean が発行した通知を処理するリスナーのオブジェクト名
filter - MarshalledObject にカプセル化されたフィルタオブジェクト。MarshalledObject にカプセル化されたフィルタが null 値を持つ場合、通知の処理前にフィルタリングは行われない
handback - 通知が発行されたときリスナーに送信されるコンテキスト。MarshalledObject にカプセル化されている
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
例外:
InstanceNotFoundException - 登録済み MBean の中に、通知リスナーまたは通知ブロードキャスタの MBean 名がない場合
RuntimeOperationsException - IllegalArgumentException をラップする。listener によって指定された MBean が存在していても、NotificationListener インタフェースを実装していないか、name または listener が null
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
関連項目:
removeNotificationListener(ObjectName, ObjectName, Subject), removeNotificationListener(ObjectName, ObjectName, MarshalledObject, MarshalledObject, Subject)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener,
                                Subject delegationSubject)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName) メソッドを処理します。

パラメータ:
name - リスナーが削除される MBean の名前
listener - 削除されるリスナーのオブジェクト名
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
例外:
InstanceNotFoundException - 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException - リスナーが MBean に登録されていない場合
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
RuntimeOperationsException - name または listener が null の場合、IllegalArgumentException をラップする
関連項目:
addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)

removeNotificationListener

void removeNotificationListener(ObjectName name,
                                ObjectName listener,
                                MarshalledObject filter,
                                MarshalledObject handback,
                                Subject delegationSubject)
                                throws InstanceNotFoundException,
                                       ListenerNotFoundException,
                                       IOException
MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) メソッドを処理します。NotificationFilter パラメータは MarshalledObject にラップされています。Object パラメータも MarshalledObject にラップされています。

パラメータ:
name - リスナーが削除される MBean の名前
listener - 以前にこの MBean に追加されたリスナー
filter - リスナーの追加時に指定されたフィルタ。MarshalledObject にカプセル化されている
handback - リスナーの追加時に指定されたハンドバック。MarshalledObject にカプセル化されている
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
例外:
InstanceNotFoundException - 登録済み MBean の中に、指定された MBean 名がない場合
ListenerNotFoundException - リスナーが MBean に登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合
SecurityException - クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合
IOException - 一般的な通信例外が発生した場合
RuntimeOperationsException - name または listener が null の場合、IllegalArgumentException をラップする
関連項目:
addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.rmi.MarshalledObject, java.rmi.MarshalledObject, javax.security.auth.Subject)

addNotificationListeners

Integer[] addNotificationListeners(ObjectName[] names,
                                   MarshalledObject[] filters,
                                   Subject[] delegationSubjects)
                                   throws InstanceNotFoundException,
                                          IOException

MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) メソッドを処理します。

指定されたフィルタに一致する MBean からの通知を登録します。リモートクライアントは、その後、fetchNotifications メソッドを使ってこれらの通知を取得できます。

クライアント側には、リスナーごとに元の NotificationListenerhandback が保持されます。クライアントがこれらを識別できるように、サーバは一意の listenerID を生成し、返します。この listenerIDNotification とともにリモートクライアントに転送されます。

指定されたペア (name, filter) のいずれかを登録できない場合、オペレーションは例外を発行して終了します。この場合、名前もフィルタも登録されません。

パラメータ:
names - Notification の発行元 MBean を識別する ObjectName
filters - NotificationFilter の整列化された表現から成る配列。この配列の要素は null でもよい
delegationSubjects - Subject。この Subject (複数可) の代わりにリスナーが追加される。この配列の要素は null でもよい。また、delegationSubjects パラメータ自体が null であってもよい。この場合、この配列は、name 配列や filter 配列と同じサイズの null 値から成る配列と同等になる
戻り値:
ローカルリスナーを識別する listenerID から成る配列。この配列はパラメータと同じ数の要素を持つ
例外:
IllegalArgumentException - name または filter が null の場合、name に null 要素が含まれる場合、または 3 つの配列のサイズが異なる場合
ClassCastException - filter のいずれかの要素が NotificationFilter 以外の非 null オブジェクトとして非整列化する場合
InstanceNotFoundException - name のいずれかが登録済み MBean に対応していない場合
SecurityException - いずれかの MBean で、クライアントまたは委譲された Subject が、リスナーを追加するアクセス権を持たない場合
IOException - 一般的な通信例外が発生した場合

removeNotificationListeners

void removeNotificationListeners(ObjectName name,
                                 Integer[] listenerIDs,
                                 Subject delegationSubject)
                                 throws InstanceNotFoundException,
                                        ListenerNotFoundException,
                                        IOException

removeNotificationListener(ObjectName, NotificationListener) および removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) メソッドを処理します。

このメソッドは、MBean サーバ内の指定された MBean から、1 つ以上の NotificationListener を削除します。

NotificationListener は、addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]) メソッドから返された ID によって識別されます。

パラメータ:
name - Notification の発行元 MBean を識別する ObjectName
listenerIDs - 削除するリスナーに対応する ID のリスト
delegationSubject - 委譲主体を含む Subject。認証主体が使用されている場合は null
例外:
InstanceNotFoundException - 指定された name が登録済み MBean に対応していない場合
ListenerNotFoundException - サーバ側に見つからないリスナーがある場合。この例外は、MBean が、MBeanServer.removeNotificationListener の呼び出し以外の何らかの理由でリスナーを破棄したとき発行される
SecurityException - クライアントまたは委譲された Subject が、リスナーを削除するアクセス権を持たない場合
IOException - 一般的な通信例外が発生した場合
IllegalArgumentException - ObjectName または listenerId が null の場合、または listenerId に null 要素が含まれる場合

fetchNotifications

NotificationResult fetchNotifications(long clientSequenceNumber,
                                      int maxNotifications,
                                      long timeout)
                                      throws IOException

コネクタサーバから通知を受信します。このメソッドは、1 つ以上通知が発行されるか、指定されたタイムアウトに達するまでブロックできます。また、通知が 0 であればいつでも終了できます。

シーケンス番号が clientSequenceNumber 以上で、このクライアントが通知を受け付けるフィルタを使って通知の発行元 MBean のリスナーを 1 つ以上登録している場合、この通知を結果に含めることができます。この通知を待機する各リスナーは、addNotificationListeners(ObjectName[], MarshalledObject[], Subject[]) によって返された整数値の ID によって識別されます。

パラメータ:
clientSequenceNumber - クライアントが待機する最初のシーケンス番号。負の値の場合、次の通知のシーケンス番号と解釈される
maxNotifications - 返される異なった通知の最大数。同じ通知が繰り返し発行される場合、返される NotificationResult に含まれる TargetedNotification 配列は、この値より多くの要素を持つことができる。このパラメータの値が負の場合の動作は不定
timeout - 通知の着信を待つ最大時間 (ミリ秒単位)。0 の場合、通知がないとメソッドは待機せず、ただちに終了する。Long.MAX_VALUE の場合、タイムアウトは設定されない。このパラメータの値が負の場合の動作は不定
戻り値:
NotificationResult
例外:
IOException - 一般的な通信例外が発生した場合

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。