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
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
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
指定されたフィルタに一致する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, 2014, Oracle and/or its affiliates. All rights reserved.