public interface RMIConnection extends Closeable, Remote
クライアントからサーバー側の MBeanServer 実装へ MBeanServer 要求を転送するために使用される RMI オブジェクトです。RMI コネクタに接続されたリモートクライアントごとに、このインタフェースを実装する Remote オブジェクトが 1 つずつ提供されます。
ユーザーコードは、必ずしもこのインタフェースを参照しません。このインタフェースは、API の実装が異なる場合も相互運用できるように、公開 API の一部として指定されています。
クライアントパラメータを、サーバー側の正しいクラスローダーで直列化復元するため、クライアントパラメータ (メソッド呼び出しに使用されるパラメータなど) は MarshalledObject
にラップされます。このインタフェースの実装は、まずオペレーションとそのターゲットの適切なクラスローダーを取得してから、このクラスローダーを使って整列化パラメータを直列化復元します。特に記載されていないかぎり、パラメータ MarshalledObject
または MarshalledObject[]
は null にしてはいけません。null の場合、パラメータの動作は不定となります。
クラスのロードに関する詳細は、『JMX 仕様、バージョン 1.4』の PDF ドキュメントを参照してください。
このインタフェースのほとんどのメソッドは、MBeanServerConnection
インタフェースの並行メソッドです。メソッドの動作についてはここでは説明しませんが、対応する MBeanServerConnection
メソッドと同じです。
String getConnectionId() throws IOException
接続 ID を返します。この文字列は、指定の RMI コネクタサーバーへの開かれた接続ごとに異なります。
IOException
- 一般的な通信例外が発生した場合。RMIConnector.connect
void close() throws IOException
この接続を終了します。このメソッドの終了時には、これ以上リモート呼び出しの失敗が起こらないように、このインタフェースを実装する RMI オブジェクトがアンエクスポートされます。
close
、インタフェース: AutoCloseable
close
、インタフェース: Closeable
IOException
- 接続を終了できなかった場合、Remote オブジェクトをアンエクスポートできなかった場合、またはリモート終了要求の転送時に通信障害が発生した場合。ObjectInstance createMBean(String className, ObjectName name, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
className
- インスタンス化する MBean のクラス名。name
- MBean のオブジェクト名。null も可。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。ObjectName
と Java クラス名を含む ObjectInstance
。含まれる ObjectName
が n
の場合、含まれる Java クラス名は getMBeanInfo(n)
.getClassName()
。ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合。InstanceAlreadyExistsException
- MBean がすでに MBean サーバーによって制御されている場合。MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない。MBeanException
- MBean のコンストラクタが例外をスローした場合。NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
がパターンであるか、MBean に ObjectName
が指定されていない場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
className
- インスタンス化する MBean のクラス名。name
- MBean のオブジェクト名。null も可。loaderName
- 使用するクラスローダーのオブジェクト名。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。ObjectName
と Java クラス名を含む ObjectInstance
。含まれる ObjectName
が n
の場合、含まれる Java クラス名は getMBeanInfo(n)
.getClassName()
。ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合。InstanceAlreadyExistsException
- MBean がすでに MBean サーバーによって制御されている場合。MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない。MBeanException
- MBean のコンストラクタが例外をスローした場合。NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合。InstanceNotFoundException
- 指定されたクラスローダーが MBean サーバーに登録されていない場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
がパターンであるか、MBean に ObjectName
が指定されていない場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。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
。ObjectName
と Java クラス名を含む ObjectInstance
。含まれる ObjectName
が n
の場合、含まれる Java クラス名は getMBeanInfo(n)
.getClassName()
。ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合。InstanceAlreadyExistsException
- MBean がすでに MBean サーバーによって制御されている場合。MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない。MBeanException
- MBean のコンストラクタが例外をスローした場合。NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
にパターンが含まれているか、MBean に ObjectName
が指定されていない場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。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
。ObjectName
と Java クラス名を含む ObjectInstance
。含まれる ObjectName
が n
の場合、含まれる Java クラス名は getMBeanInfo(n)
.getClassName()
。ReflectionException
- MBean のコンストラクタの呼び出し時に発行される java.lang.ClassNotFoundException
または java.lang.Exception
をラップする場合。InstanceAlreadyExistsException
- MBean がすでに MBean サーバーによって制御されている場合。MBeanRegistrationException
- MBean の preRegister
(MBeanRegistration
インタフェース) メソッドが例外をスローした場合。MBean は登録されない。MBeanException
- MBean のコンストラクタが例外をスローした場合。NotCompliantMBeanException
- このクラスが JMX 準拠の MBean でない場合。InstanceNotFoundException
- 指定されたクラスローダーが MBean サーバーに登録されていない場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡される className が null であるか、パラメータに渡される ObjectName
にパターンが含まれているか、MBean に ObjectName
が指定されていない場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。void unregisterMBean(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, MBeanRegistrationException, IOException
name
- 登録解除する MBean のオブジェクト名。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。InstanceNotFoundException
- 指定された MBean が MBean サーバーに登録されていない場合。MBeanRegistrationException
- MBean の preDeregister (MBeanRegistration
インタフェース) メソッドが例外をスローした場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null であるか、登録解除しようとしている MBean が MBeanServerDelegate
である場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。ObjectInstance getObjectInstance(ObjectName name, Subject delegationSubject) throws InstanceNotFoundException, IOException
name
- MBean のオブジェクト名。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。ObjectInstance
。含まれる ObjectName
は name
で、含まれるクラス名は getMBeanInfo(name)
.getClassName()
。InstanceNotFoundException
- 指定された MBean が MBean サーバーに登録されていない場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null の場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。Set<ObjectInstance> queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
MBeanServerConnection.queryMBeans(ObjectName, QueryExp)
メソッドを処理します。QueryExp
は、MarshalledObject
にラップされています。name
- 取得する MBean を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティーが指定されていない場合は、登録されているすべての MBean が取得される。query
- MBean の選択に適用されるクエリー式。MarshalledObject
にカプセル化されている。MarshalledObject
に null 値がカプセル化されている場合、MBean の選択にクエリー式は適用されない。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。ObjectInstance
オブジェクトを含むセット。クエリーの条件を満たす MBean が存在しない場合、空のリストが返される。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。Set<ObjectName> queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject) throws IOException
MBeanServerConnection.queryNames(ObjectName, QueryExp)
メソッドを処理します。QueryExp
は、MarshalledObject
にラップされています。name
- 取得する MBean 名を識別するオブジェクト名パターン。null の場合、またはドメインやキーのプロパティーが指定されていない場合は、登録されているすべての MBean の名前が取得される。query
- MBean の選択に適用されるクエリー式。MarshalledObject
にカプセル化されている。MarshalledObject
に null 値がカプセル化されている場合、MBean の選択にクエリー式は適用されない。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。boolean isRegistered(ObjectName name, Subject delegationSubject) throws IOException
MBeanServerConnection.isRegistered(ObjectName)
メソッドを処理します。name
- チェック対象の MBean のオブジェクト名。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null の場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。Integer getMBeanCount(Subject delegationSubject) throws IOException
MBeanServerConnection.getMBeanCount()
メソッドを処理します。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。Object getAttribute(ObjectName name, String attribute, Subject delegationSubject) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
name
- MBean のオブジェクト名。この MBean の属性が取得される。attribute
- 取得される属性の名前を指定する String。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。AttributeNotFoundException
- MBean の指定された属性がアクセス不能である場合。MBeanException
- MBean の getter によってスローされる例外をラップする場合。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)
AttributeList getAttributes(ObjectName name, String[] attributes, Subject delegationSubject) throws InstanceNotFoundException, ReflectionException, IOException
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)
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 の setter によってスローされる例外をラップする場合。ReflectionException
- setter の呼び出し時にスローされる java.lang.Exception
をラップする場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null であるか、パラメータ内の属性が null である場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)
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)
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
。InstanceNotFoundException
- 指定された MBean が MBean サーバーに登録されていない場合。MBeanException
- MBean の呼び出しメソッドによってスローされる例外をラップする場合。ReflectionException
- メソッドの呼び出し時にスローされる java.lang.Exception
をラップする場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。RuntimeOperationsException
- name
または operationName
が null の場合、IllegalArgumentException
をラップする場合。String getDefaultDomain(Subject delegationSubject) throws IOException
MBeanServerConnection.getDefaultDomain()
メソッドを処理します。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。String[] getDomains(Subject delegationSubject) throws IOException
MBeanServerConnection.getDomains()
メソッドを処理します。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。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 の場合。boolean isInstanceOf(ObjectName name, String className, Subject delegationSubject) throws InstanceNotFoundException, IOException
name
- MBean の ObjectName
。className
- クラスの名前。delegationSubject
- 委譲プリンシパルを含む Subject
。認証プリンシパルが代わりに使用されている場合は null
。InstanceNotFoundException
- 指定された MBean が MBean サーバーに登録されていない場合。SecurityException
- クライアントまたは委譲された Subject が、このオペレーションの実行権を持たない場合。IOException
- 一般的な通信例外が発生した場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名が null の場合。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)
void removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
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)
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)
Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) throws InstanceNotFoundException, IOException
MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
メソッドを処理します。
指定されたフィルタに一致する MBean からの通知を登録します。リモートクライアントは、その後、fetchNotifications
メソッドを使ってこれらの通知を取得できます。
クライアント側には、リスナーごとに元の NotificationListener
と handback
が保持されます。クライアントがこれらを識別できるように、サーバーは一意の listenerID
を生成し、返します。この listenerID
は Notifications
とともにリモートクライアントに転送されます。
指定されたペア (名前、フィルタ) のいずれかを登録できない場合、オペレーションは例外を発行して終了します。この場合、名前もフィルタも登録されません。
names
- Notification の発行元 MBean を識別する ObjectNames
。filters
- NotificationFilters
の整列化された表現から成る配列。この配列の要素は null でもよい。delegationSubjects
- Subjects
。この Subject (複数可) の代わりにリスナーが追加される。この配列の要素は null でもよい。また、delegationSubjects
パラメータ自体が null であってもよい。この場合、この配列は、names
配列や filters
配列と同じサイズの null 値から成る配列と同等になる。listenerIDs
から成る配列。この配列はパラメータと同じ数の要素を持つ。IllegalArgumentException
- names
または filters
が null の場合、names
に null 要素が含まれる場合、または 3 つの配列のサイズが異なる場合。ClassCastException
- filters
のいずれかの要素が NotificationFilter
以外の非 null オブジェクトとして非整列化する場合。InstanceNotFoundException
- names
のいずれかが登録済み MBean に対応していない場合。SecurityException
- いずれかの MBean で、クライアントまたは委譲された Subject が、リスナーを追加するアクセス権を持たない場合。IOException
- 一般的な通信例外が発生した場合。void removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject) throws InstanceNotFoundException, ListenerNotFoundException, IOException
removeNotificationListener(ObjectName, NotificationListener)
および removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
メソッドを処理します。
このメソッドは、MBean サーバー内の指定された MBean から、1 つ以上の NotificationListener
を削除します。
NotificationListeners
は、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
または listenerIds
が null の場合、または listenerIds
に null 要素が含まれる場合。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
- 一般的な通信例外が発生した場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.