public interface MBeanServerConnection
MBeanServer
インタフェースはこのインタフェースを拡張します。修飾子と型 | メソッドと説明 |
---|---|
void |
addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
登録済みMBeanにリスナーを追加します。
|
void |
addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
登録済みMBeanにリスナーを追加します。
|
ObjectInstance |
createMBean(String className, ObjectName name)
MBeanをインスタンス化し、MBeanサーバーに登録します。
|
ObjectInstance |
createMBean(String className, ObjectName name, Object[] params, String[] signature)
MBeanをインスタンス化し、MBeanサーバーに登録します。
|
ObjectInstance |
createMBean(String className, ObjectName name, ObjectName loaderName)
MBeanをインスタンス化し、MBeanサーバーに登録します。
|
ObjectInstance |
createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature)
MBeanをインスタンス化し、MBeanサーバーに登録します。
|
Object |
getAttribute(ObjectName name, String attribute)
指定されたMBeanの特定の属性の値を取得します。
|
AttributeList |
getAttributes(ObjectName name, String[] attributes)
指定されたMBeanの複数の属性の値を取り出します。
|
String |
getDefaultDomain()
MBeanの指定に使用するデフォルトのドメインを返します。
|
String[] |
getDomains()
MBeanが現在登録されているドメインのリストを返します。
|
Integer |
getMBeanCount()
MBeanサーバーに登録されているMBeanの数を返します。
|
MBeanInfo |
getMBeanInfo(ObjectName name)
このメソッドは、MBeanが管理用として公開している属性とオペレーションを検出します。
|
ObjectInstance |
getObjectInstance(ObjectName name)
MBeanに登録された、指定されたMBeanの
ObjectInstance を取得します。 |
Object |
invoke(ObjectName name, String operationName, Object[] params, String[] signature)
MBean上でオペレーションを呼び出します。
|
boolean |
isInstanceOf(ObjectName name, String className)
指定されたMBeanが指定されたクラスのインスタンスである場合はtrue、そうでない場合はfalseを返します。
|
boolean |
isRegistered(ObjectName name)
このオブジェクト名で識別されるMBeanが、すでにMBeanサーバーに登録されているかどうかをチェックします。
|
Set<ObjectInstance> |
queryMBeans(ObjectName name, QueryExp query)
MBeanサーバーによって制御されるMBeanを取得します。
|
Set<ObjectName> |
queryNames(ObjectName name, QueryExp query)
MBeanサーバーによって制御されるMBeanの名前を取得します。
|
void |
removeNotificationListener(ObjectName name, NotificationListener listener)
登録済みMBeanからリスナーを削除します。
|
void |
removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback)
登録済みMBeanからリスナーを削除します。
|
void |
removeNotificationListener(ObjectName name, ObjectName listener)
登録済みMBeanからリスナーを削除します。
|
void |
removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback)
登録済みMBeanからリスナーを削除します。
|
void |
setAttribute(ObjectName name, Attribute attribute)
指定されたMBeanの特定の属性の値を設定します。
|
AttributeList |
setAttributes(ObjectName name, AttributeList attributes)
指定されたMBeanの複数の属性の値を設定します。
|
void |
unregisterMBean(ObjectName name)
MBeanサーバーからMBeanの登録を解除します。
|
ObjectInstance createMBean(String className, ObjectName name) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
MBeanをインスタンス化し、MBeanサーバーに登録します。MBeanサーバーは、Default Loader Repository
を使って、このMBeanのクラスをロードします。MBeanにはオブジェクト名が関連付けられます。このオブジェクト名がnullの場合、MBeanは、MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。
このメソッドは、createMBean(className, name,(Object[]) null,(String[]) null)
と同等です。
className
- インスタンス化するMBeanのクラス名。name
- MBeanのオブジェクト名。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は登録されない。RuntimeMBeanException
- MBeanのコンストラクタ、あるいはそのpreRegister
またはpostRegister
メソッドがRuntimeException
をスローした場合。MBeanのpostRegister
(MBeanRegistration
インタフェース)メソッドがRuntimeException
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeMBeanException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeMBeanException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。RuntimeErrorException
- MBeanのpostRegister
(MBeanRegistration
インタフェース)メソッドがError
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeErrorException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeErrorException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。MBeanException
- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException
- このクラスがJMX準拠のMBeanでない場合RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectName
がパターンであるか、MBeanにObjectName
が指定されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。MBeanRegistration
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
MBeanをインスタンス化し、MBeanサーバーに登録します。使用するクラス・ローダーは、オブジェクト名で識別されます。MBeanにはオブジェクト名が関連付けられます。ローダーのオブジェクト名がnullの場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。MBeanのオブジェクト名がnullの場合、MBeanは、MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。
このメソッドは、createMBean(className, name, loaderName,(Object[]) null,(String[]) null)
と同等です。
className
- インスタンス化するMBeanのクラス名。name
- MBeanのオブジェクト名。nullも可。loaderName
- 使用するクラス・ローダーのオブジェクト名。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は登録されない。RuntimeMBeanException
- MBeanのコンストラクタ、あるいはそのpreRegister
またはpostRegister
メソッドがRuntimeException
をスローした場合。MBeanのpostRegister
(MBeanRegistration
インタフェース)メソッドがRuntimeException
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeMBeanException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeMBeanException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。RuntimeErrorException
- MBeanのpostRegister
(MBeanRegistration
インタフェース)メソッドがError
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeErrorException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeErrorException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。MBeanException
- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException
- このクラスがJMX準拠のMBeanでない場合InstanceNotFoundException
- 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectName
がパターンであるか、MBeanにObjectName
が指定されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。MBeanRegistration
ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, IOException
Default Loader Repository
を使って、このMBeanのクラスをロードします。MBeanにはオブジェクト名が関連付けられます。このオブジェクト名がnullの場合、MBeanは、MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。className
- インスタンス化するMBeanのクラス名。name
- MBeanのオブジェクト名。nullも可。params
- 呼び出されるコンストラクタのパラメータを含む配列。signature
- 呼び出されるコンストラクタのシグニチャを含む配列。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は登録されない。RuntimeMBeanException
- MBeanのコンストラクタ、あるいはそのpreRegister
またはpostRegister
メソッドがRuntimeException
をスローした場合。MBeanのpostRegister
(MBeanRegistration
インタフェース)メソッドがRuntimeException
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeMBeanException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeMBeanException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。RuntimeErrorException
- MBeanのpostRegister
(MBeanRegistration
インタフェース)メソッドがError
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeErrorException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeErrorException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。MBeanException
- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException
- このクラスがJMX準拠のMBeanでない場合RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectName
がパターンであるか、MBeanにObjectName
が指定されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。MBeanRegistration
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException, IOException
MBeanをインスタンス化し、MBeanサーバーに登録します。使用するクラス・ローダーは、オブジェクト名で識別されます。MBeanにはオブジェクト名が関連付けられます。ローダーのオブジェクト名が指定されていない場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。MBeanのオブジェクト名がnullの場合、MBeanは、MBeanRegistration
インタフェースを実装し、preRegister
メソッドから返される独自の名前を使用する必要があります。
className
- インスタンス化するMBeanのクラス名。name
- MBeanのオブジェクト名。nullも可。params
- 呼び出されるコンストラクタのパラメータを含む配列。signature
- 呼び出されるコンストラクタのシグニチャを含む配列。loaderName
- 使用するクラス・ローダーのオブジェクト名。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は登録されない。RuntimeMBeanException
- MBeanのコンストラクタ、あるいはそのpreRegister
またはpostRegister
メソッドがRuntimeException
をスローした場合。MBeanのpostRegister
(MBeanRegistration
インタフェース)メソッドがRuntimeException
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeMBeanException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeMBeanException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。RuntimeErrorException
- MBeanのpostRegister
メソッド(MBeanRegistration
インタフェース)メソッドがError
をスローすると、MBeanの作成と登録は成功しますが、createMBean
メソッドはRuntimeErrorException
をスローします。このような場合、createMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeErrorException
はpreRegister
でもスローされますが、その場合はMBeanは登録されません。MBeanException
- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException
- このクラスがJMX準拠のMBeanでない場合InstanceNotFoundException
- 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectName
がパターンであるか、MBeanにObjectName
が指定されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。MBeanRegistration
void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException, IOException
name
- 登録解除するMBeanのオブジェクト名。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。MBeanRegistrationException
- MBeanのpreDeregister (MBeanRegistration
インタフェース)メソッドが例外をスローした場合。RuntimeMBeanException
- MBeanのpostDeregister
(MBeanRegistration
インタフェース)メソッドがRuntimeException
をスローすると、MBeanの登録解除は成功しますが、unregisterMBean
メソッドはRuntimeMBeanException
をスローします。このような場合、unregisterMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録解除されます。RuntimeMBeanException
はpreDeregister
でもスローされますが、その場合はMBeanの登録は解除されません。RuntimeErrorException
- MBeanのpostDeregister
(MBeanRegistration
インタフェース)メソッドがError
をスローすると、MBeanの登録解除は成功しますが、unregisterMBean
メソッドはRuntimeErrorException
をスローします。このような場合、unregisterMBean
メソッドが例外をスローしたとしても、MBeanは実際に登録解除されます。RuntimeMBeanException
はpreDeregister
でもスローされますが、その場合はMBeanの登録は解除されません。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、登録解除しようとしているMBeanがMBeanServerDelegate
である場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。MBeanRegistration
ObjectInstance getObjectInstance(ObjectName name) throws InstanceNotFoundException, IOException
ObjectInstance
を取得します。name
- MBeanのオブジェクト名。ObjectInstance
。含まれるObjectName
はname
で、含まれるクラス名はgetMBeanInfo(name)
.getClassName()
。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query) throws IOException
ObjectName
やクエリー式のパターン・マッチングによって指定されたMBeanのセット、特定のMBeanのいずれかを返します。オブジェクト名がnullである場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。このメソッドは、選択されたMBeanに対して、ObjectInstance
オブジェクトのセット(ObjectName
とJavaクラス名を含む)を返します。name
- 取得するMBeanを識別するオブジェクト名パターン。nullの場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべてのMBeanが取得される。query
- MBeanの選択に適用されるクエリー式。nullの場合、MBeanの選択にクエリー式は適用されない。ObjectInstance
オブジェクトを含むセット。クエリーの条件を満たすMBeanが存在しない場合、空のリストが返される。IOException
- MBeanサーバーとの通信時に問題が発生した場合。Set<ObjectName> queryNames(ObjectName name, QueryExp query) throws IOException
ObjectName
やQuery式のパターン・マッチングによって指定されたMBeanのセットの名前、特定のMBeanの名前のいずれかを返します。これにより、MBeanが登録されているかどうかを判別できます。オブジェクト名がnullである場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。このメソッドは、選択されたMBeanに対して、ObjectNameのセットを返します。name
- 取得するMBean名を識別するオブジェクト名パターン。nullの場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべてのMBeanの名前が取得される。query
- MBeanの選択に適用されるクエリー式。nullの場合、MBeanの選択にクエリー式は適用されない。IOException
- MBeanサーバーとの通信時に問題が発生した場合。boolean isRegistered(ObjectName name) throws IOException
name
- チェック対象のMBeanのオブジェクト名。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名がnullの場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。Integer getMBeanCount() throws IOException
IOException
- MBeanサーバーとの通信時に問題が発生した場合。Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException, IOException
name
- MBeanのオブジェクト名。このMBeanの属性が取得される。attribute
- 取得される属性の名前を指定するString。AttributeNotFoundException
- MBeanの指定された属性がアクセス不能である場合。MBeanException
- MBeanのgetterによってスローされる例外をラップする場合。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。ReflectionException
- setterの呼出し時にスローされるjava.lang.Exception
をラップする場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。setAttribute(javax.management.ObjectName, javax.management.Attribute)
AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException, IOException
指定されたMBeanの複数の属性の値を取り出します。MBeanはオブジェクト名で識別されます。
何らかの理由で1つ以上の属性を取得できない場合、それらは返されるAttributeList
から省略されます。呼出し側はリストがattributes
配列と同じサイズであることを確認する必要があります。属性の取得を妨げた問題を見つけるには、その属性のgetAttribute
を呼び出します。
このメソッドを呼び出して、要求されたすべての属性を正常に取得できたことを確認する例を次に示します。
String[] attrNames = ...; AttributeList list = mbeanServerConnection.getAttributes(objectName, attrNames); if (list.size() == attrNames.length) System.out.println("All attributes were retrieved successfully"); else {List<String>
missing = newArrayList<String>
(Arrays.asList
(attrNames)); for (Attribute a : list.asList()) missing.remove(a.getName()); System.out.println("Did not retrieve: " + missing); }
name
- MBeanのオブジェクト名。このMBeanの属性が取得される。attributes
- 取得される属性のリスト。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。ReflectionException
- Dynamic MBeanのgetAttributesメソッドの呼出し時に例外が発生した場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。setAttributes(javax.management.ObjectName, javax.management.AttributeList)
void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException, IOException
name
- MBean名。このMBeanの属性が設定される。attribute
- 設定される属性のIDと設定される値。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。AttributeNotFoundException
- MBeanの指定された属性がアクセス不能である場合。InvalidAttributeValueException
- 指定された値が、属性に対する有効な値でない場合。MBeanException
- MBeanのsetterによってスローされる例外をラップする場合。ReflectionException
- setterの呼出し時にスローされるjava.lang.Exception
をラップする場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。getAttribute(javax.management.ObjectName, java.lang.String)
AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException, ReflectionException, IOException
指定されたMBeanの複数の属性の値を設定します。MBeanはオブジェクト名で識別されます。
何らかの理由で1つ以上の属性を設定できない場合、それらは返されるAttributeList
から省略されます。呼出し側は入力のAttributeList
が出力のそれと同じサイズであることを確認する必要があります。属性の取得を妨げた問題の発見は、通常、その属性のsetAttribute
を呼び出すことで可能ですが、必ずしも成功する保証はありません。たとえば、2つの属性の値が互いに矛盾するために拒否された可能性があります。どちらか1つであれば、設定できる可能性があります。
このメソッドを呼び出して、要求されたすべての属性を正常に設定できたことを確認する例を次に示します。
AttributeList inputAttrs = ...; AttributeList outputAttrs = mbeanServerConnection.setAttributes(objectName, inputAttrs); if (inputAttrs.size() == outputAttrs.size()) System.out.println("All attributes were set successfully"); else {List<String>
missing = newArrayList<String>
(); for (Attribute a : inputAttrs.asList()) missing.add(a.getName()); for (Attribute a : outputAttrs.asList()) missing.remove(a.getName()); System.out.println("Did not set: " + missing); }
name
- MBeanのオブジェクト名。このMBeanの属性が設定される。attributes
- 属性のリスト。属性のリスト(設定される属性のIDと設定される値)。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。ReflectionException
- Dynamic MBeanのgetAttributesメソッドの呼出し時に例外が発生した場合。RuntimeOperationsException
- java.lang.IllegalArgumentException
をラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。getAttributes(javax.management.ObjectName, java.lang.String[])
Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException, ReflectionException, IOException
MBean上でオペレーションを呼び出します。
オーバーロードされる可能性があるオペレーションを区別するためにsignature
が必要であるため、可能な場合は、MBeanプロキシを介してさらに簡単にオペレーションを呼び出すことができます。たとえば、次のようなStandard MBeanインタフェースが存在する場合を考えましょう。
public interface FooMBean { public int countMatches(String[] patterns, boolean ignoreCase); }
countMatches
オペレーションは次のようにして呼び出すことができます。
String[] myPatterns = ...; int count = (Integer) mbeanServerConnection.invoke( objectName, "countMatches", new Object[] {myPatterns, true}, new String[] {String[].class.getName(), boolean.class.getName()});
または、次のようにプロキシを介して呼び出すこともできます。
String[] myPatterns = ...; FooMBean fooProxy = JMX.newMBeanProxy( mbeanServerConnection, objectName, FooMBean.class); int count = fooProxy.countMatches(myPatterns, true);
name
- メソッドの呼出しが行われるMBeanのオブジェクト名。operationName
- 呼び出されるオペレーションの名前。params
- オペレーションの呼出し時に設定されるパラメータを含む配列。signature
- オペレーションのシグニチャを含む配列(Class.getName()
から返される形式のクラス名の配列)。クラス・オブジェクトのロードには、オペレーションを呼び出したMBeanをロードするときと同じクラス・ローダーが使用される。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。MBeanException
- MBeanの呼出しメソッドによってスローされる例外をラップする場合。ReflectionException
- メソッドの呼出し時にスローされるjava.lang.Exception
をラップする場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。String getDefaultDomain() throws IOException
IOException
- MBeanサーバーとの通信時に問題が発生した場合。String[] getDomains() throws IOException
MBeanが現在登録されているドメインのリストを返します。返される配列内に文字列が含まれるのは、その文字列と等しいgetDomain()
を持つObjectNameに1個以上のMBeanが登録されている場合だけです。返される配列内の文字列の順序は未定義です。
IOException
- MBeanサーバーとの通信時に問題が発生した場合。void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, IOException
登録済みMBeanにリスナーを追加します。MBeanが発行した通知は、リスナーに転送されます。
name
- リスナーが追加されるMBeanの名前。listener
- 登録済みMBeanが発行した通知を処理するリスナー・オブジェクト。filter
- フィルタ・オブジェクト。フィルタがnullの場合、通知処理の前にフィルタは適用されない。handback
- 通知が発行されたときリスナーに送信されるコンテキスト。InstanceNotFoundException
- 登録済みMBeanの中に、指定されたMBean名がない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。removeNotificationListener(ObjectName, NotificationListener)
, removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, IOException
登録済みMBeanにリスナーを追加します。
MBeanが発行した通知は、MBeanServerによってリスナーに転送されます。通知のソースがMBeanオブジェクトの参照になっている場合、MBeanサーバーは、これをMBeanのObjectNameで置き換えます。それ以外の場合、ソースが変更されることはありません。
通知を受け取るリスナー・オブジェクトは、このメソッドの呼出し時に指定された名前で登録されたリスナー・オブジェクトです。その後は登録しなくても引き続き通知を受け取ります。
name
- リスナーが追加されるMBeanの名前。listener
- 登録済みMBeanが発行した通知を処理するリスナーのオブジェクト名。filter
- フィルタ・オブジェクト。フィルタがnullの場合、通知処理の前にフィルタは適用されない。handback
- 通知が発行されたときリスナーに送信されるコンテキスト。InstanceNotFoundException
- 登録済みMBeanの中に、通知リスナーまたは通知ブロードキャスタのMBean名がない場合。RuntimeOperationsException
- IllegalArgumentException
をラップする場合。listener
によって指定されたMBeanが存在していても、NotificationListener
インタフェースを実装していない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。removeNotificationListener(ObjectName, ObjectName)
, removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener) throws InstanceNotFoundException, ListenerNotFoundException, IOException
リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。
name
- リスナーが削除されるMBeanの名前。listener
- 削除されるリスナーのオブジェクト名。InstanceNotFoundException
- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException
- リスナーがMBeanに登録されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException, IOException
登録済みMBeanからリスナーを削除します。
MBeanは、指定されたlistener
、filter
、およびhandback
パラメータと正確に一致するリスナーを持っている必要があります。該当するリスナーが複数存在する場合、そのうちの1つだけが削除されます。
削除されるリスナー内でnullが指定されている場合にのみ、filter
およびhandback
パラメータはnullになります。
name
- リスナーが削除されるMBeanの名前。listener
- 削除されるリスナーのオブジェクト名。filter
- リスナーの追加時に指定されたフィルタ。handback
- リスナーの追加時に指定されたハンドバック。InstanceNotFoundException
- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException
- リスナーがMBeanに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException, IOException
登録済みMBeanからリスナーを削除します。
リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。
name
- リスナーが削除されるMBeanの名前。listener
- 削除されるリスナー。InstanceNotFoundException
- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException
- リスナーがMBeanに登録されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException, IOException
登録済みMBeanからリスナーを削除します。
MBeanは、指定されたlistener
、filter
、およびhandback
パラメータと正確に一致するリスナーを持っている必要があります。該当するリスナーが複数存在する場合、そのうちの1つだけが削除されます。
削除されるリスナー内でnullが指定されている場合にのみ、filter
およびhandback
パラメータはnullになります。
name
- リスナーが削除されるMBeanの名前。listener
- 削除されるリスナー。filter
- リスナーの追加時に指定されたフィルタ。handback
- リスナーの追加時に指定されたハンドバック。InstanceNotFoundException
- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException
- リスナーがMBeanに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)
MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException
name
- 分析対象のMBeanの名前MBeanInfo
のインスタンス。このMBeanのすべての属性とオペレーションの取得を許可する。IntrospectionException
- イントロスペクション中に例外が発生した場合。InstanceNotFoundException
- 指定されたMBeanが見つからなかった場合。ReflectionException
- Dynamic MBeanのgetMBeanInfoメソッドの呼出し時に例外が発生した場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。boolean isInstanceOf(ObjectName name, String className) throws InstanceNotFoundException, IOException
指定されたMBeanが指定されたクラスのインスタンスである場合はtrue、そうでない場合はfalseを返します。
name
がMBeanを指定していない場合、このメソッドはInstanceNotFoundException
をスローします。
それ以外の場合、
Xはname
で指定されたMBean、
LはXのClassLoader、
NはXのMBeanInfo
内のクラス名になります。
NがclassName
と等しい場合、結果はtrueです。
それ以外の場合、LがclassName
を正常にロードし、Xがこのクラスのインスタンスである場合、結果はtrueです。
それ以外の場合、LがNとclassName
の両方を正常にロードし、最初のクラスから2番目のクラスを割り当てることができる場合、結果はtrueです。
それ以外の場合、結果はfalseです。
name
- MBeanのObjectName
。className
- クラスの名前。InstanceNotFoundException
- 指定されたMBeanがMBeanサーバーに登録されていない場合。IOException
- MBeanサーバーとの通信時に問題が発生した場合。Class.isInstance(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.