インタフェースMBeanServer
- すべてのスーパー・インタフェース:
MBeanServerConnection
- 既知のすべてのサブインタフェース:
MBeanServerForwarder
エージェント側でMBeanを操作するためのインタフェースです。 登録済みのMBeanにアクセスするためのメソッドのほか、MBeanを作成、登録、削除するために必要なメソッドが含まれます。 これが、JMXインフラストラクチャの主要コンポーネントになります。
通常、ユーザー・コードはこのインタフェースを実装しません。 ただし、このインタフェースを実装するオブジェクトは、MBeanServerFactoryクラスのいずれかのメソッドで取得できます。
MBeanサーバーに追加されたMBeanはすべて管理対象となります。これらのMBeanの属性とオペレーションには、MBeanサーバーに接続されたコネクタまたはアダプタ経由でリモート・アクセスできます。 JMX準拠のMBeanでないJavaオブジェクトは、MBeanサーバーに登録できません。
MBeanサーバーでMBeanを登録または登録解除すると、MBeanServerNotification通知が発行されます。 オブジェクトをMBeanServerNotificationのリスナーとして登録するには、MBeanServerDelegateのObjectNameを指定して、MBeanサーバー・メソッドaddNotificationListenerをObjectNameと呼び出すようにしてください。 このObjectNameは、
JMImplementation: type=MBeanServerDelegateになります。
実装で基礎となるリソースへのアクセスが認可されない場合、MBeanServerおよびそのサブクラスのメソッドはSecurityExceptionをスローすることがあります。
- 導入されたバージョン:
- 1.5
-
メソッドのサマリー
修飾子と型メソッド説明voidaddNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) 登録済みMBeanにリスナーを追加します。voidaddNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) 登録済みMBeanにリスナーを追加します。createMBean(String className, ObjectName name) MBeanをインスタンス化し、MBeanサーバーに登録します。createMBean(String className, ObjectName name, Object[] params, String[] signature) MBeanをインスタンス化し、MBeanサーバーに登録します。createMBean(String className, ObjectName name, ObjectName loaderName) MBeanをインスタンス化し、MBeanサーバーに登録します。createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) MBeanをインスタンス化し、MBeanサーバーに登録します。default ObjectInputStreamdeserialize(String className, byte[] data) 非推奨。default ObjectInputStreamdeserialize(String className, ObjectName loaderName, byte[] data) 非推奨。getClassLoaderを使用して、直列化復元用のクラス・ローダーを取得します。default ObjectInputStreamdeserialize(ObjectName name, byte[] data) 非推奨。getClassLoaderForを使用して、直列化復元用の適切なクラス・ローダーを取得します。getAttribute(ObjectName name, String attribute) 指定されたMBeanの特定の属性の値を取得します。getAttributes(ObjectName name, String[] attributes) 指定されたMBeanの複数の属性の値を取り出します。getClassLoader(ObjectName loaderName) 指定されたClassLoaderを返します。getClassLoaderFor(ObjectName mbeanName) 指定されたMBeanのクラスのロードに使用されたClassLoaderを返します。このMBeanServerのClassLoaderRepositoryを返します。MBeanの指定に使用するデフォルトのドメインを返します。String[]MBeanが現在登録されているドメインのリストを返します。MBeanサーバーに登録されているMBeanの数を返します。getMBeanInfo(ObjectName name) このメソッドは、MBeanが管理用として公開している属性とオペレーションを検出します。getObjectInstance(ObjectName name) MBeanに登録された、指定されたMBeanのObjectInstanceを取得します。instantiate(String className) MBeanサーバーのClass Loader Repository内に登録されたすべてのクラス・ローダーのリストを使って、オブジェクトをインスタンス化します。instantiate(String className, Object[] params, String[] signature) MBeanサーバーのClass Loader Repository内に登録されたすべてのクラス・ローダーのリストを使って、オブジェクトをインスタンス化します。instantiate(String className, ObjectName loaderName) ObjectNameで指定されたクラス・ローダーを使って、オブジェクトをインスタンス化します。instantiate(String className, ObjectName loaderName, Object[] params, String[] signature) オブジェクトをインスタンス化します。invoke(ObjectName name, String operationName, Object[] params, String[] signature) MBean上でオペレーションを呼び出します。booleanisInstanceOf(ObjectName name, String className) 指定されたMBeanが指定されたクラスのインスタンスである場合はtrue、そうでない場合はfalseを返します。booleanisRegistered(ObjectName name) このオブジェクト名で識別されるMBeanが、すでにMBeanサーバーに登録されているかどうかをチェックします。queryMBeans(ObjectName name, QueryExp query) MBeanサーバーによって制御されるMBeanを取得します。queryNames(ObjectName name, QueryExp query) MBeanサーバーによって制御されるMBeanの名前を取得します。registerMBean(Object object, ObjectName name) 既存のオブジェクトをMBeanとしてMBeanサーバーに登録します。voidremoveNotificationListener(ObjectName name, NotificationListener listener) 登録済みMBeanからリスナーを削除します。voidremoveNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) 登録済みMBeanからリスナーを削除します。voidremoveNotificationListener(ObjectName name, ObjectName listener) 登録済みMBeanからリスナーを削除します。voidremoveNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) 登録済みMBeanからリスナーを削除します。voidsetAttribute(ObjectName name, Attribute attribute) 指定されたMBeanの特定の属性の値を設定します。setAttributes(ObjectName name, AttributeList attributes) 指定されたMBeanの複数の属性の値を設定します。voidunregisterMBean(ObjectName name) MBeanサーバーからMBeanの登録を解除します。
-
メソッドの詳細
-
createMBean
ObjectInstance createMBean(String className, ObjectName name) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException MBeanをインスタンス化し、MBeanサーバーに登録します。 MBeanサーバーは、
Default Loader Repositoryを使って、このMBeanのクラスをロードします。 MBeanにはオブジェクト名が関連付けられます。 このオブジェクト名がnullの場合、MBeanは、MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。このメソッドは、
createMBean(className, name,(Object[]) null,(String[]) null)と同等です。このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。
- 定義:
createMBean、インタフェースMBeanServerConnection- パラメータ:
className- インスタンス化するMBeanのクラス名。name- MBeanのオブジェクト名。 nullも可。- 戻り値:
- 新しくインスタンス化されたMBeanの
ObjectNameとJavaクラス名を含むObjectInstance。 含まれるObjectNameがnの場合、含まれるJavaクラス名は。getMBeanInfo(n).getClassName() - スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。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は登録されません。ReflectionException- MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。InstanceAlreadyExistsException- MBeanがすでにMBeanサーバーによって制御されている場合。MBeanRegistrationException- MBeanのpreRegister(MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。MBeanException- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException- このクラスがJMX準拠のMBeanでない場合- 関連項目:
-
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException MBeanをインスタンス化し、MBeanサーバーに登録します。 使用するクラス・ローダーは、オブジェクト名で識別されます。 MBeanにはオブジェクト名が関連付けられます。 ローダーのオブジェクト名がnullの場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。 MBeanのオブジェクト名がnullの場合、MBeanは、
MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。このメソッドは、
createMBean(className, name, loaderName,(Object[]) null,(String[]) null)と同等です。このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。
- 定義:
createMBean、インタフェースMBeanServerConnection- パラメータ:
className- インスタンス化するMBeanのクラス名。name- MBeanのオブジェクト名。 nullも可。loaderName- 使用するクラス・ローダーのオブジェクト名。- 戻り値:
- 新しくインスタンス化されたMBeanの
ObjectNameとJavaクラス名を含むObjectInstance。 含まれるObjectNameがnの場合、含まれるJavaクラス名は。getMBeanInfo(n).getClassName() - スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。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は登録されません。ReflectionException- MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。InstanceAlreadyExistsException- MBeanがすでにMBeanサーバーによって制御されている場合。MBeanRegistrationException- MBeanのpreRegister(MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。MBeanException- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException- このクラスがJMX準拠のMBeanでない場合InstanceNotFoundException- 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。- 関連項目:
-
createMBean
ObjectInstance createMBean(String className, ObjectName name, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException MBeanをインスタンス化し、MBeanサーバーに登録します。 MBeanサーバーは、Default Loader Repositoryを使って、このMBeanのクラスをロードします。 MBeanにはオブジェクト名が関連付けられます。 このオブジェクト名がnullの場合、MBeanは、MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。
- 定義:
createMBean、インタフェースMBeanServerConnection- パラメータ:
className- インスタンス化するMBeanのクラス名。name- MBeanのオブジェクト名。 nullも可。params- 呼び出されるコンストラクタのパラメータを含む配列。signature- 呼び出されるコンストラクタのシグニチャを含む配列。- 戻り値:
- 新しくインスタンス化されたMBeanの
ObjectNameとJavaクラス名を含むObjectInstance。 含まれるObjectNameがnの場合、含まれるJavaクラス名は。getMBeanInfo(n).getClassName() - スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。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は登録されません。ReflectionException- MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。InstanceAlreadyExistsException- MBeanがすでにMBeanサーバーによって制御されている場合。MBeanRegistrationException- MBeanのpreRegister(MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。MBeanException- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException- このクラスがJMX準拠のMBeanでない場合- 関連項目:
-
createMBean
ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, Object[] params, String[] signature) throws ReflectionException, InstanceAlreadyExistsException, MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException MBeanをインスタンス化し、MBeanサーバーに登録します。 使用するクラス・ローダーは、オブジェクト名で識別されます。 MBeanにはオブジェクト名が関連付けられます。 ローダーのオブジェクト名が指定されていない場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。 MBeanのオブジェクト名がnullの場合、MBeanは、
MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。このメソッドがMBeanの作成に成功すると、前述の通知が送信されます。
- 定義:
createMBean、インタフェースMBeanServerConnection- パラメータ:
className- インスタンス化するMBeanのクラス名。name- MBeanのオブジェクト名。 nullも可。loaderName- 使用するクラス・ローダーのオブジェクト名。params- 呼び出されるコンストラクタのパラメータを含む配列。signature- 呼び出されるコンストラクタのシグニチャを含む配列。- 戻り値:
- 新しくインスタンス化されたMBeanの
ObjectNameとJavaクラス名を含むObjectInstance。 含まれるObjectNameがnの場合、含まれるJavaクラス名は。getMBeanInfo(n).getClassName() - スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullであるか、パラメータに渡されるObjectNameがパターンであるか、MBeanにObjectNameが指定されていない場合。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は登録されません。ReflectionException- MBeanのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。InstanceAlreadyExistsException- MBeanがすでにMBeanサーバーによって制御されている場合。MBeanRegistrationException- MBeanのpreRegister(MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。MBeanException- MBeanのコンストラクタが例外をスローした場合NotCompliantMBeanException- このクラスがJMX準拠のMBeanでない場合InstanceNotFoundException- 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。- 関連項目:
-
registerMBean
ObjectInstance registerMBean(Object object, ObjectName name) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException 既存のオブジェクトをMBeanとしてMBeanサーバーに登録します。 このオブジェクト名がnullの場合、MBeanは、
MBeanRegistrationインタフェースを実装し、preRegisterメソッドから返される独自の名前を使用する必要があります。このメソッドがMBeanの登録に成功すると、前述の通知が送信されます。
- パラメータ:
object- MBeanとして登録されるMBean。name- MBeanのオブジェクト名。 nullも可。- 戻り値:
- 新しく登録されたMBeanの
ObjectNameとJavaクラス名を含むObjectInstance。 含まれるObjectNameがnの場合、含まれるJavaクラス名は。getMBeanInfo(n).getClassName() - スロー:
InstanceAlreadyExistsException- MBeanがすでにMBeanサーバーによって制御されている場合。MBeanRegistrationException- MBeanのpreRegister(MBeanRegistrationインタフェース)メソッドが例外をスローした場合。 MBeanは登録されない。RuntimeMBeanException- MBeanのpostRegister(MBeanRegistrationインタフェース)メソッドがRuntimeExceptionをスローすると、MBeanの登録は成功しますが、registerMBeanメソッドはRuntimeMBeanExceptionをスローします。 このような場合、registerMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeMBeanExceptionはpreRegisterでもスローされますが、その場合はMBeanは登録されません。RuntimeErrorException- MBeanのpostRegister(MBeanRegistrationインタフェース)メソッドがErrorをスローすると、MBeanの登録は成功しますが、registerMBeanメソッドはRuntimeErrorExceptionをスローします。 このような場合、registerMBeanメソッドが例外をスローしたとしても、MBeanは実際に登録されます。RuntimeErrorExceptionはpreRegisterでもスローされますが、その場合はMBeanは登録されません。NotCompliantMBeanException- このオブジェクトがJMX準拠のMBeanでない場合RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるオブジェクトがnullであるか、オブジェクト名が指定されていない場合。- 関連項目:
-
unregisterMBean
void unregisterMBean(ObjectName name) throws InstanceNotFoundException, MBeanRegistrationException MBeanサーバーからMBeanの登録を解除します。 MBeanはオブジェクト名で識別されます。 メソッドを呼び出したあと、オブジェクト名を指定してこのMBeanにアクセスすることはできません。このメソッドがMBeanの登録解除に成功すると、前述の通知が送信されます。
- 定義:
unregisterMBean、インタフェースMBeanServerConnection- パラメータ:
name- 登録解除するMBeanのオブジェクト名。- スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、登録解除しようとしているMBeanがMBeanServerDelegateである場合。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の登録は解除されません。InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。MBeanRegistrationException- MBeanのpreDeregister (MBeanRegistrationインタフェース)メソッドが例外をスローしました。- 関連項目:
-
getObjectInstance
インタフェースからコピーされた説明:MBeanServerConnectionMBeanに登録された、指定されたMBeanのObjectInstanceを取得します。- 定義:
getObjectInstance、インタフェースMBeanServerConnection- パラメータ:
name- MBeanのオブジェクト名。- 戻り値:
- nameで指定されたMBeanに関連付けられた
ObjectInstance。 含まれるObjectNameはnameで、含まれるクラス名は。getMBeanInfo(name).getClassName() - スロー:
InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。
-
queryMBeans
Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query) MBeanサーバーによって制御されるMBeanを取得します。 このメソッドは、すべてのMBean、ObjectNameやクエリー式のパターン・マッチングによって指定されたMBeanのセット、特定のMBeanのいずれかを返します。 オブジェクト名がnullである場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。 このメソッドは、選択されたMBeanに対して、ObjectInstanceオブジェクトのセット(ObjectNameとJavaクラス名を含む)を返します。- 定義:
queryMBeans、インタフェースMBeanServerConnection- パラメータ:
name- 取得するMBeanを識別するオブジェクト名パターン。 nullの場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべてのMBeanが取得される。query- MBeanの選択に適用されるクエリー式。 nullの場合、MBeanの選択にクエリー式は適用されない。- 戻り値:
- 選択されたMBeanの
ObjectInstanceオブジェクトを含むセット。 クエリーの条件を満たすMBeanが存在しない場合、空のリストが返される。
-
queryNames
Set<ObjectName> queryNames(ObjectName name, QueryExp query) MBeanサーバーによって制御されるMBeanの名前を取得します。 このメソッドは、すべてのMBeanの名前、ObjectNameやQuery式のパターン・マッチングによって指定されたMBeanのセットの名前、特定のMBeanの名前のいずれかを返します。これにより、MBeanが登録されているかどうかを判別できます。 オブジェクト名がnullである場合、またはドメインやキーのプロパティが指定されていない場合、すべてのオブジェクトが選択されます。クエリーが指定されている場合は、さらにフィルタリングが適用されます。 このメソッドは、選択されたMBeanに対して、ObjectNameのセットを返します。- 定義:
queryNames、インタフェースMBeanServerConnection- パラメータ:
name- 取得するMBean名を識別するオブジェクト名パターン。 nullの場合、またはドメインやキーのプロパティが指定されていない場合は、登録されているすべてのMBeanの名前が取得される。query- MBeanの選択に適用されるクエリー式。 nullの場合、MBeanの選択にクエリー式は適用されない。- 戻り値:
- 選択されたMBeanのObjectNameを含むセット。 クエリーの条件を満たすMBeanが存在しない場合、空のリストが返される。
-
isRegistered
boolean isRegistered(ObjectName name) インタフェースからコピーされた説明:MBeanServerConnectionこのオブジェクト名で識別されるMBeanが、すでにMBeanサーバーに登録されているかどうかをチェックします。- 定義:
isRegistered、インタフェースMBeanServerConnection- パラメータ:
name- チェック対象のMBeanのオブジェクト名。- 戻り値:
- MBeanがすでにMBeanサーバーに登録されている場合はtrue、そうでない場合はfalse。
- スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullの場合。
-
getMBeanCount
Integer getMBeanCount()MBeanサーバーに登録されているMBeanの数を返します。- 定義:
getMBeanCount、インタフェースMBeanServerConnection- 戻り値:
- 登録済MBeanの数。Integerにラップされる。 呼出し元のアクセス権が制限されている場合、この数は呼出し元からアクセスできるMBeanの数より大きくなる可能性がある。
-
getAttribute
Object getAttribute(ObjectName name, String attribute) throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException インタフェースからコピーされた説明:MBeanServerConnection指定されたMBeanの特定の属性の値を取得します。 MBeanはオブジェクト名で識別されます。- 定義:
getAttribute、インタフェースMBeanServerConnection- パラメータ:
name- MBeanのオブジェクト名。このMBeanの属性が取得される。attribute- 取得される属性の名前を指定するString。- 戻り値:
- 取得される属性の値。
- スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。MBeanException- MBeanのgetterによってスローされる例外をラップする場合。AttributeNotFoundException- MBeanの指定された属性がアクセス不能である場合。InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。ReflectionException- setterの呼出し時にスローされるjava.lang.Exceptionをラップする場合。- 関連項目:
-
getAttributes
AttributeList getAttributes(ObjectName name, String[] attributes) throws InstanceNotFoundException, ReflectionException インタフェースからコピーされた説明:MBeanServerConnection指定された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); }- 定義:
getAttributes、インタフェースMBeanServerConnection- パラメータ:
name- MBeanのオブジェクト名。このMBeanの属性が取得される。attributes- 取得される属性のリスト。- 戻り値:
- 取得される属性のリスト。
- スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。ReflectionException- Dynamic MBeanのgetAttributesメソッドの呼出し時に例外が発生した場合。- 関連項目:
-
setAttribute
void setAttribute(ObjectName name, Attribute attribute) throws InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException インタフェースからコピーされた説明:MBeanServerConnection指定されたMBeanの特定の属性の値を設定します。 MBeanはオブジェクト名で識別されます。- 定義:
setAttribute、インタフェースMBeanServerConnection- パラメータ:
name- MBean名。このMBeanの属性が設定される。attribute- 設定される属性のIDと設定される値。- スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。AttributeNotFoundException- MBeanの指定された属性がアクセス不能である場合。InvalidAttributeValueException- 指定された値が、属性に対する有効な値でない場合。MBeanException- MBeanのsetterによってスローされる例外をラップする場合。ReflectionException- setterの呼出し時にスローされるjava.lang.Exceptionをラップする場合。- 関連項目:
-
setAttributes
AttributeList setAttributes(ObjectName name, AttributeList attributes) throws InstanceNotFoundException, ReflectionException インタフェースからコピーされた説明:MBeanServerConnection指定された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); }- 定義:
setAttributes、インタフェースMBeanServerConnection- パラメータ:
name- MBeanのオブジェクト名。このMBeanの属性が設定される。attributes- 属性のリスト。属性のリスト(設定される属性のIDと設定される値)。- 戻り値:
- 設定された属性と新しい値のリスト。
- スロー:
RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。ReflectionException- Dynamic MBeanのgetAttributesメソッドの呼出し時に例外が発生した場合。- 関連項目:
-
invoke
Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws InstanceNotFoundException, MBeanException, ReflectionException インタフェースからコピーされた説明:MBeanServerConnectionMBean上でオペレーションを呼び出します。
オーバーロードされる可能性があるオペレーションを区別するために
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);- 定義:
invoke、インタフェースMBeanServerConnection- パラメータ:
name- メソッドの呼出しが行われるMBeanのオブジェクト名。operationName- 呼び出されるオペレーションの名前。params- オペレーションの呼出し時に設定されるパラメータを含む配列。signature- オペレーションのシグニチャを含む配列(Class.getName()から返される形式のクラス名の配列)。 クラス・オブジェクトのロードには、オペレーションを呼び出したMBeanをロードするときと同じクラス・ローダーが使用される。- 戻り値:
- オペレーションによって返されるオブジェクト。指定されたMBean上でオペレーションを呼び出した結果を表す。
- スロー:
InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。MBeanException- MBeanの呼出しメソッドによってスローされる例外をラップする場合。ReflectionException- メソッドの呼出し時にスローされるjava.lang.Exceptionをラップする場合。
-
getDefaultDomain
String getDefaultDomain()インタフェースからコピーされた説明:MBeanServerConnectionMBeanの指定に使用するデフォルトのドメインを返します。 ユーザーがドメイン名を指定しなかった場合、MBeanのObjectNameのドメイン部分には、デフォルトのドメイン名が入ります。- 定義:
getDefaultDomain、インタフェースMBeanServerConnection- 戻り値:
- デフォルトのドメイン。
-
getDomains
String[] getDomains()インタフェースからコピーされた説明:MBeanServerConnectionMBeanが現在登録されているドメインのリストを返します。 返される配列内に文字列が含まれるのは、その文字列と等しい
getDomain()を持つObjectNameに1個以上のMBeanが登録されている場合だけです。 返される配列内の文字列の順序は未定義です。- 定義:
getDomains、インタフェースMBeanServerConnection- 戻り値:
- ドメインのリスト。
-
addNotificationListener
void addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException 登録済みMBeanにリスナーを追加します。 MBeanが発行した通知は、リスナーに転送されます。
通知のソースがMBeanオブジェクトの参照になっている場合、MBeanサーバーは、これをMBeanのObjectNameで置き換えます。 それ以外の場合、ソースが変更されることはありません。- 定義:
addNotificationListener、インタフェースMBeanServerConnection- パラメータ:
name- リスナーが追加されるMBeanの名前。listener- 登録済みMBeanが発行した通知を処理するリスナー・オブジェクト。filter- フィルタ・オブジェクト。 フィルタがnullの場合、通知処理の前にフィルタは適用されない。handback- 通知が発行されたときリスナーに送信されるコンテキスト。- スロー:
InstanceNotFoundException- 登録済みMBeanの中に、指定されたMBean名がない場合。- 関連項目:
-
addNotificationListener
void addNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException 登録済みMBeanにリスナーを追加します。
MBeanが発行した通知は、MBeanServerによってリスナーに転送されます。 通知のソースがMBeanオブジェクトの参照になっている場合、MBeanサーバーは、これをMBeanのObjectNameで置き換えます。 それ以外の場合、ソースが変更されることはありません。
通知を受け取るリスナー・オブジェクトは、このメソッドの呼出し時に指定された名前で登録されたリスナー・オブジェクトです。 その後は登録しなくても引き続き通知を受け取ります。
- 定義:
addNotificationListener、インタフェースMBeanServerConnection- パラメータ:
name- リスナーが追加されるMBeanの名前。listener- 登録済みMBeanが発行した通知を処理するリスナーのオブジェクト名。filter- フィルタ・オブジェクト。 フィルタがnullの場合、通知処理の前にフィルタは適用されない。handback- 通知が発行されたときリスナーに送信されるコンテキスト。- スロー:
RuntimeOperationsException-IllegalArgumentExceptionをラップする場合。listenerによって指定されたMBeanが存在していても、NotificationListenerインタフェースを実装していない場合。InstanceNotFoundException- 登録済みMBeanの中に、通知リスナーまたは通知ブロードキャスタのMBean名がない場合。- 関連項目:
-
removeNotificationListener
void removeNotificationListener(ObjectName name, ObjectName listener) throws InstanceNotFoundException, ListenerNotFoundException インタフェースからコピーされた説明:MBeanServerConnection登録済みMBeanからリスナーを削除します。リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。
- 定義:
removeNotificationListener、インタフェースMBeanServerConnection- パラメータ:
name- リスナーが削除されるMBeanの名前。listener- 削除されるリスナーのオブジェクト名。- スロー:
InstanceNotFoundException- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException- リスナーがMBeanに登録されていない場合。- 関連項目:
-
removeNotificationListener
void removeNotificationListener(ObjectName name, ObjectName listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException インタフェースからコピーされた説明:MBeanServerConnection登録済みMBeanからリスナーを削除します。
MBeanは、指定された
listener、filter、およびhandbackパラメータと正確に一致するリスナーを持っている必要があります。 該当するリスナーが複数存在する場合、そのうちの1つだけが削除されます。削除されるリスナー内でnullが指定されている場合にのみ、
filterおよびhandbackパラメータはnullになります。- 定義:
removeNotificationListener、インタフェースMBeanServerConnection- パラメータ:
name- リスナーが削除されるMBeanの名前。listener- 削除されるリスナーのオブジェクト名。filter- リスナーの追加時に指定されたフィルタ。handback- リスナーの追加時に指定されたハンドバック。- スロー:
InstanceNotFoundException- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException- リスナーがMBeanに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。- 関連項目:
-
removeNotificationListener
void removeNotificationListener(ObjectName name, NotificationListener listener) throws InstanceNotFoundException, ListenerNotFoundException インタフェースからコピーされた説明:MBeanServerConnection登録済みMBeanからリスナーを削除します。
リスナーが、別のフィルタまたはコールバックにより複数回登録された場合、このメソッドは、これらすべての登録を削除します。
- 定義:
removeNotificationListener、インタフェースMBeanServerConnection- パラメータ:
name- リスナーが削除されるMBeanの名前。listener- 削除されるリスナー。- スロー:
InstanceNotFoundException- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException- リスナーがMBeanに登録されていない場合。- 関連項目:
-
removeNotificationListener
void removeNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, ListenerNotFoundException インタフェースからコピーされた説明:MBeanServerConnection登録済みMBeanからリスナーを削除します。
MBeanは、指定された
listener、filter、およびhandbackパラメータと正確に一致するリスナーを持っている必要があります。 該当するリスナーが複数存在する場合、そのうちの1つだけが削除されます。削除されるリスナー内でnullが指定されている場合にのみ、
filterおよびhandbackパラメータはnullになります。- 定義:
removeNotificationListener、インタフェースMBeanServerConnection- パラメータ:
name- リスナーが削除されるMBeanの名前。listener- 削除されるリスナー。filter- リスナーの追加時に指定されたフィルタ。handback- リスナーの追加時に指定されたハンドバック。- スロー:
InstanceNotFoundException- 登録済みMBeanの中に、指定されたMBean名がない場合。ListenerNotFoundException- リスナーがMBeanに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。- 関連項目:
-
getMBeanInfo
MBeanInfo getMBeanInfo(ObjectName name) throws InstanceNotFoundException, IntrospectionException, ReflectionException インタフェースからコピーされた説明:MBeanServerConnectionこのメソッドは、MBeanが管理用として公開している属性とオペレーションを検出します。- 定義:
getMBeanInfo、インタフェースMBeanServerConnection- パラメータ:
name- 分析対象のMBeanの名前- 戻り値:
MBeanInfoのインスタンス。このMBeanのすべての属性とオペレーションの取得を許可する。- スロー:
InstanceNotFoundException- 指定されたMBeanが見つからなかった場合。IntrospectionException- イントロスペクション中に例外が発生した場合。ReflectionException- Dynamic MBeanのgetMBeanInfoメソッドの呼出し時に例外が発生した場合。
-
isInstanceOf
boolean isInstanceOf(ObjectName name, String className) throws InstanceNotFoundException インタフェースからコピーされた説明:MBeanServerConnection指定された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です。
- 定義:
isInstanceOf、インタフェースMBeanServerConnection- パラメータ:
name- MBeanのObjectName。className- クラスの名前。- 戻り値:
- 上記の規則に従って、指定されたMBeanが指定されたクラスのインスタンスである場合はtrue、そうでない場合はfalse。
- スロー:
InstanceNotFoundException- 指定されたMBeanがMBeanサーバーに登録されていない場合。- 関連項目:
-
instantiate
MBeanサーバーの
Class Loader Repository内に登録されたすべてのクラス・ローダーのリストを使って、オブジェクトをインスタンス化します。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 このメソッドは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。このメソッドは、
instantiate(className,(Object[]) null,(String[]) null)と同等です。- パラメータ:
className- インスタンス化するオブジェクトのクラス名。- 戻り値:
- 新しくインスタンス化されたオブジェクト。
- スロー:
ReflectionException- オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。MBeanException- オブジェクトのコンストラクタが例外をスローした場合。RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
-
instantiate
Object instantiate(String className, ObjectName loaderName) throws ReflectionException, MBeanException, InstanceNotFoundException ObjectNameで指定されたクラス・ローダーを使って、オブジェクトをインスタンス化します。 ローダー名がnullの場合、MBeanサーバーのロードに使用されたClassLoaderが使用されます。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 このメソッドは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。このメソッドは、
instantiate(className, loaderName,(Object[]) null,(String[]) null)と同等です。- パラメータ:
className- インスタンス化するMBeanのクラス名。loaderName- 使用するクラス・ローダーのオブジェクト名。- 戻り値:
- 新しくインスタンス化されたオブジェクト。
- スロー:
ReflectionException- オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。MBeanException- オブジェクトのコンストラクタが例外をスローした場合。InstanceNotFoundException- 指定されたクラス・ローダーがMBeanServerに登録されていない場合。RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
-
instantiate
Object instantiate(String className, Object[] params, String[] signature) throws ReflectionException, MBeanException MBeanサーバーの
Class Loader Repository内に登録されたすべてのクラス・ローダーのリストを使って、オブジェクトをインスタンス化します。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 この呼出しは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。- パラメータ:
className- インスタンス化するオブジェクトのクラス名。params- 呼び出されるコンストラクタのパラメータを含む配列。signature- 呼び出されるコンストラクタのシグニチャを含む配列。- 戻り値:
- 新しくインスタンス化されたオブジェクト。
- スロー:
ReflectionException- オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。MBeanException- オブジェクトのコンストラクタが例外をスローした場合。RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
-
instantiate
Object instantiate(String className, ObjectName loaderName, Object[] params, String[] signature) throws ReflectionException, MBeanException, InstanceNotFoundException オブジェクトをインスタンス化します。 使用するクラス・ローダーは、オブジェクト名で識別されます。 ローダーのオブジェクト名がnullの場合、MBeanサーバーのロードに使用したClassLoaderが使用されます。 オブジェクトのクラスは、publicコンストラクタを持っていなければいけません。 この呼出しは、新しく生成されたオブジェクトの参照を返します。 新しく生成されたオブジェクトは、MBeanサーバーに登録されていません。
- パラメータ:
className- インスタンス化するオブジェクトのクラス名。loaderName- 使用するクラス・ローダーのオブジェクト名。params- 呼び出されるコンストラクタのパラメータを含む配列。signature- 呼び出されるコンストラクタのシグニチャを含む配列。- 戻り値:
- 新しくインスタンス化されたオブジェクト。
- スロー:
ReflectionException- オブジェクトのコンストラクタの呼出し時に発行されるjava.lang.ClassNotFoundExceptionまたはjava.lang.Exceptionをラップする場合。MBeanException- オブジェクトのコンストラクタが例外をスローした場合。InstanceNotFoundException- 指定されたクラス・ローダーがMBeanサーバーに登録されていない場合。RuntimeOperationsException-java.lang.IllegalArgumentExceptionをラップする場合。すなわち、パラメータに渡されるclassNameがnullの場合。
-
deserialize
@Deprecated(since="1.5") default ObjectInputStream deserialize(ObjectName name, byte[] data) throws InstanceNotFoundException, OperationsException 非推奨。getClassLoaderForを使用して、直列化復元用の適切なクラス・ローダーを取得します。MBeanのクラス・ローダーのコンテキストで、バイト配列を直列化復元します。
- 実装要件:
- このメソッドは、デフォルトで
UnsupportedOperationExceptionをスローします。 - パラメータ:
name- MBeanの名前。このMBeanのクラス・ローダーを使って、直列化復元が行われる。data- 直列化復元の対象となるバイト配列。- 戻り値:
- 直列化復元されたオブジェクト・ストリーム。
- スロー:
InstanceNotFoundException- 指定されたMBeanが見つからない場合。OperationsException- 通常の入出力関連の例外が発生した場合。
-
deserialize
@Deprecated(since="1.5") default ObjectInputStream deserialize(String className, byte[] data) throws OperationsException, ReflectionException 非推奨。getClassLoaderRepository()を使用してクラス・ローダー・リポジトリを取得し、それを使用して直列化復元します。指定されたMBeanクラス・ローダーのコンテキストで、バイト配列の直列化復元を行います。 クラス・ローダーを検索するには、
Class Loader Repositoryを使ってclassNameクラスをロードします。 このクラスのクラス・ローダーが使用されます。- 実装要件:
- このメソッドは、デフォルトで
UnsupportedOperationExceptionをスローします。 - パラメータ:
className- クラスの名前。このクラスのクラス・ローダーを使って、直列化復元が行われる。data- 直列化復元の対象となるバイト配列。- 戻り値:
- 直列化復元されたオブジェクト・ストリーム。
- スロー:
OperationsException- 通常の入出力関連の例外が発生した場合。ReflectionException- 指定されたクラスがクラス・ローダー・リポジトリにロードされない場合。
-
deserialize
@Deprecated(since="1.5") default ObjectInputStream deserialize(String className, ObjectName loaderName, byte[] data) throws InstanceNotFoundException, OperationsException, ReflectionException 非推奨。getClassLoaderを使用して、直列化復元用のクラス・ローダーを取得します。指定されたMBeanクラス・ローダーのコンテキストで、バイト配列の直列化復元を行います。 このクラス・ローダーは、classNameという名前でクラスをロードしたクラス・ローダーです。 指定されたクラスのロードに使用されたクラス・ローダーの名前が使用されます。 nullの場合、MBeanサーバーのクラス・ローダーが使用される。
- 実装要件:
- このメソッドは、デフォルトで
UnsupportedOperationExceptionをスローします。 - パラメータ:
className- クラスの名前。このクラスのクラス・ローダーを使って、直列化復元が行われる。loaderName- 指定されたクラスのロードに使用されるクラス・ローダーの名前。 nullの場合、MBeanサーバーのクラス・ローダーが使用される。data- 直列化復元の対象となるバイト配列。- 戻り値:
- 直列化復元されたオブジェクト・ストリーム。
- スロー:
InstanceNotFoundException- 指定されたクラス・ローダーMBeanが見つからない場合。OperationsException- 通常の入出力関連の例外が発生した場合。ReflectionException- 指定されたクラスが指定されたクラス・ローダーによってロードされない場合。
-
getClassLoaderFor
指定されたMBeanのクラスのロードに使用された
ClassLoaderを返します。- パラメータ:
mbeanName- MBeanのObjectName。- 戻り値:
- このMBean用のClassLoader。 MBeanの実際のClassLoaderがlで、戻り値がrの場合、次のいずれかの条件が成立する。
- rがlと同一、または
- r
.loadClass(s)の結果が任意の文字列sのl.loadClass(s)に一致。
- スロー:
InstanceNotFoundException- 指定されたMBeanが見つからない場合。
-
getClassLoader
指定された
ClassLoaderを返します。- パラメータ:
loaderName- ClassLoaderのObjectName。 nullの場合、MBeanサーバー固有のClassLoaderが返される。- 戻り値:
- 指定のClassLoader。 その名前の実際のClassLoaderがlで、戻り値がrの場合、次のいずれかの条件が成立する。
- rがlと同一、または
- r
.loadClass(s)の結果が任意の文字列sのl.loadClass(s)に一致。
- スロー:
InstanceNotFoundException- 指定されたClassLoaderが見つからない場合。
-
getClassLoaderRepository
ClassLoaderRepository getClassLoaderRepository()このMBeanServerのClassLoaderRepositoryを返します。
- 戻り値:
- このMBeanServerのClassLoaderRepository。
-
getClassLoaderRepository()を使用してクラス・ローダー・リポジトリを取得し、それを使用して直列化復元します。