- すべての実装されたインタフェース:
DynamicMBean
,MBeanRegistration
- 直系の既知のサブクラス:
StandardEmitterMBean
Javaインタフェースのリフレクションによって管理インタフェースを決定するMBeanです。
このクラスは、Standard MBeanの使用における管理インタフェースの概念の柔軟性を向上させます。 JMX仕様に説明されているStandard MBeanのパターンの単純な使用方法には、MBeanの実装クラスと管理インタフェース間に固定した関係があると説明されています(つまり、実装クラスがThingの場合、管理インタフェースはThingMBeanでなければならない)。 このクラスは、実装クラスとインタフェース・クラス間の名前の関連性を必要とせず、Javaインタフェースによる管理インタフェースの指定に役立ちます。
MBeanからDynamicMBeanを作成することにより、このクラスは、MBeanが実装する任意のインタフェースを管理インタフェースとして選択できます。ただし、JMXパターンに準拠するインタフェースである必要があります(取得メソッドまたは設定メソッドによって定義された属性など)。
このクラスは、DynamicMBeanインタフェースから返されるMBeanInfo
にカスタムの記述と名前を割り当てることができるフックも提供します。
このクラスを使って、任意の実装クラス名Implと、任意のインタフェースIntfで定義された管理インタフェース(現在のStandard MBean用)を指定してMBeanを作成できます。一般に、次のいずれかの作成方法を選択します。
- publicコンストラクタ
StandardMBean(impl,interface)
を使用MBeanServer mbs; ... Impl impl = new Impl(...); StandardMBean mbean = new StandardMBean(impl, Intf.class, false); mbs.registerMBean(mbean, objectName);
- StandardMBeanのサブクラス化
public class Impl extends StandardMBean implements Intf { public Impl() { super(Intf.class, false); } // implement methods of Intf } [...] MBeanServer mbs; .... Impl impl = new Impl(); mbs.registerMBean(impl, objectName);
いずれの場合も、ImplクラスはインタフェースIntfを実装する必要があります。
実装クラスとインタフェース・クラス間の名前の関連性に基づいたStandard MBeanも、引き続き使用可能です。
このクラスは、MXBeanの構築にも使用できます。 使用法は、上の例のコンストラクタに渡されるfalse
パラメータまたはsuper(...)
の呼出しが代わりにtrue
になることを除き、Standard MBeanとまったく同じです。
- 導入されたバージョン:
- 1.5
-
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protected
StandardMBean(Class<?> mbeanInterface)
指定されたmbeanInterfaceクラスを使って、DynamicMBeanをthisから作成します。protected
StandardMBean(Class<?> mbeanInterface, boolean isMXBean)
指定されたmbeanInterfaceクラスを使用し、結果のMBeanをMXBeanにするかどうかを選択して、DynamicMBeanをthisから作成します。StandardMBean(T implementation, Class<T> mbeanInterface)
指定されたmbeanInterfaceクラスを使って、DynamicMBeanをオブジェクトimplementationから作成します。StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)
指定されたmbeanInterfaceクラスを使用し、結果のMBeanをMXBeanにするかどうかを選択して、DynamicMBeanをオブジェクトimplementationから作成します。 -
メソッドのサマリー
修飾子と型メソッド説明protected void
cacheMBeanInfo(MBeanInfo info)
カスタマイズ・フック: このオブジェクト用に構築されたMBeanInfoをキャッシュに入れます。getAttribute(String attribute)
Dynamic MBeanの特定の属性の値を取得します。getAttributes(String[] attributes)
Dynamic MBeanの複数の属性の値を取得します。protected MBeanInfo
カスタマイズ・フック: このオブジェクト用にキャッシュされたMBeanInfoを返します。protected String
getClassName(MBeanInfo info)
カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用されるclassNameを取得します。protected MBeanConstructorInfo[]
getConstructors(MBeanConstructorInfo[] ctors, Object impl)
カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用されるMBeanConstructorInfo[]を取得します。protected String
getDescription(MBeanAttributeInfo info)
カスタマイズ・フック: このMBeanから返されるMBeanAttributeInfoで使用される説明を取得します。protected String
カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoで使用される説明を取得します。protected String
getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoのsequence MBeanParameterInfoに使用される説明を取得します。protected String
getDescription(MBeanFeatureInfo info)
カスタマイズ・フック: このMBeanから返されるMBeanFeatureInfoで使用される説明を取得します。protected String
getDescription(MBeanInfo info)
カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用される説明を取得します。protected String
getDescription(MBeanOperationInfo info)
カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoで使用される説明を取得します。protected String
getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoのsequence MBeanParameterInfoに使用される説明を取得します。protected int
getImpact(MBeanOperationInfo info)
カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoで使用されるオペレーションのimpactフラグを取得します。このStandard MBean (またはMXBean)の実装を取得します。Class<?>
このStandard MBean (またはMXBean)の実装のクラスを取得します。このMBeanのMBeanInfo
を取得します。Class<?>
このStandard MBean (またはMXBean)の管理インタフェースを取得します。protected String
getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoのsequence MBeanParameterInfoに使用される名前を取得します。protected String
getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoのsequence MBeanParameterInfoに使用される名前を取得します。Dynamic MBean上でのアクションの呼出しを許可します。void
MBeanサーバーから登録解除したあと、MBeanが必要なオペレーションを実行できるようにします。void
postRegister(Boolean registrationDone)
MBeanサーバーへの登録が成功または失敗したあと、MBeanが必要なオペレーションを実行できるようにします。void
MBeanサーバーから登録解除する前に、MBeanが必要なオペレーションを実行できるようにします。preRegister(MBeanServer server, ObjectName name)
MBeanサーバーに登録する前に、MBeanが必要なオペレーションを実行できるようにします。void
setAttribute(Attribute attribute)
Dynamic MBeanの特定の属性の値を設定します。setAttributes(AttributeList attributes)
Dynamic MBeanの複数の属性の値を設定します。void
setImplementation(Object implementation)
このオブジェクト内のラップされた実装オブジェクトを置換します。
-
コンストラクタの詳細
-
StandardMBean
public StandardMBean(T implementation, Class<T> mbeanInterface) throws NotCompliantMBeanException指定されたmbeanInterfaceクラスを使って、DynamicMBeanをオブジェクトimplementationから作成します。
- 型パラメータ:
T
-mbeanInterface
で記述されたクラスをimplementation
が実際に実装しているかチェックすることをコンパイラに許可する。 コンパイラがこのチェックを実行できるのは、mbeanInterface
がMyMBean.class
などのクラス・リテラルである場合のみ。- パラメータ:
implementation
- このMBeanの実装。mbeanInterface
- このMBeanの実装によってエクスポートされる管理インタフェース。null
の場合、このオブジェクトは標準JMX設計パターンを使って、指定された実装に関連付けられた管理インタフェースを特定する。- 例外:
IllegalArgumentException
- 指定されたimplementationがnullの場合。NotCompliantMBeanException
- mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、またはimplementationが指定されたインタフェースを実装していない場合。
-
StandardMBean
protected StandardMBean(Class<?> mbeanInterface) throws NotCompliantMBeanException指定されたmbeanInterfaceクラスを使って、DynamicMBeanをthisから作成します。
this(this,mbeanInterface)
を呼び出します。 このコンストラクタはサブクラス用として予約されています。- パラメータ:
mbeanInterface
- このMBeanによってエクスポートされる管理インタフェース。- 例外:
NotCompliantMBeanException
- mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、またはthisが指定されたインタフェースを実装していない場合。
-
StandardMBean
public StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)指定されたmbeanInterfaceクラスを使用し、結果のMBeanをMXBeanにするかどうかを選択して、DynamicMBeanをオブジェクトimplementationから作成します。 このコンストラクタは、Standard MBeanまたはMXBeanの作成に使用できます。
StandardMBean(Object, Class)
コンストラクタとは異なり、これはNotCompliantMBeanExceptionをスローしません。- 型パラメータ:
T
-mbeanInterface
で記述されたクラスをimplementation
が実際に実装しているかチェックすることをコンパイラに許可する。 コンパイラがこのチェックを実行できるのは、mbeanInterface
がMyMBean.class
などのクラス・リテラルである場合のみ。- パラメータ:
implementation
- このMBeanの実装。mbeanInterface
- このMBeanの実装によってエクスポートされる管理インタフェース。null
の場合、このオブジェクトは標準JMX設計パターンを使って、指定された実装に関連付けられた管理インタフェースを特定する。isMXBean
- trueの場合、mbeanInterface
パラメータによりMXBeanインタフェースが指定され、結果のMBeanはMXBeanになる。- 例外:
IllegalArgumentException
- 指定されたimplementationがnullの場合、mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、または指定されたimplementationが指定されたインタフェースを実装していない場合。- 導入されたバージョン:
- 1.6
-
StandardMBean
protected StandardMBean(Class<?> mbeanInterface, boolean isMXBean)指定されたmbeanInterfaceクラスを使用し、結果のMBeanをMXBeanにするかどうかを選択して、DynamicMBeanをthisから作成します。 このコンストラクタは、Standard MBeanまたはMXBeanの作成に使用できます。
StandardMBean(Object, Class)
コンストラクタとは異なり、これはNotCompliantMBeanExceptionをスローしません。this(this, mbeanInterface, isMXBean)
を呼び出します。 このコンストラクタはサブクラス用として予約されています。- パラメータ:
mbeanInterface
- このMBeanによってエクスポートされる管理インタフェース。isMXBean
- trueの場合、mbeanInterface
パラメータによりMXBeanインタフェースが指定され、結果のMBeanはMXBeanになる。- 例外:
IllegalArgumentException
- mbeanInterfaceが管理インタフェースのJMX設計パターンに従っていない場合、またはthisが指定されたインタフェースを実装していない場合。- 導入されたバージョン:
- 1.6
-
-
メソッドの詳細
-
setImplementation
public void setImplementation(Object implementation) throws NotCompliantMBeanExceptionこのオブジェクト内のラップされた実装オブジェクトを置換します。
- パラメータ:
implementation
- このStandard MBean (またはMXBean)の新しい実装。implementation
オブジェクトは、StandardMBean
の構築時に提供されたStandard MBean (またはMXBean)インタフェースを実装する必要がある。- 例外:
IllegalArgumentException
- 指定されたimplementationがnullの場合。NotCompliantMBeanException
- 指定されたimplementationが構築時に提供されたStandard MBean (またはMXBean)インタフェースを実装していない場合。- 関連項目:
getImplementation()
-
getImplementation
public Object getImplementation()このStandard MBean (またはMXBean)の実装を取得します。- 戻り値:
- このStandard MBean (またはMXBean)の実装。
- 関連項目:
setImplementation(java.lang.Object)
-
getMBeanInterface
public final Class<?> getMBeanInterface()このStandard MBean (またはMXBean)の管理インタフェースを取得します。- 戻り値:
- このStandard MBean (またはMXBean)の管理インタフェース。
-
getImplementationClass
public Class<?> getImplementationClass()このStandard MBean (またはMXBean)の実装のクラスを取得します。- 戻り値:
- このStandard MBean (またはMXBean)の実装のクラス。
-
getAttribute
public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionExceptionインタフェースからコピーされた説明:DynamicMBean
Dynamic MBeanの特定の属性の値を取得します。- 定義:
getAttribute
、インタフェース:DynamicMBean
- パラメータ:
attribute
- 取得される属性の名前- 戻り値:
- 取得される属性の値。
- 例外:
AttributeNotFoundException
- 指定された属性が存在しないか、または検索できない場合MBeanException
- MBeanのgetterによってスローされるjava.lang.Exception
をラップする場合。ReflectionException
- getterの呼出し時にスローされるjava.lang.Exception
をラップする場合。- 関連項目:
DynamicMBean.setAttribute(javax.management.Attribute)
-
setAttribute
public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionExceptionインタフェースからコピーされた説明:DynamicMBean
Dynamic MBeanの特定の属性の値を設定します。- 定義:
setAttribute
、インタフェース:DynamicMBean
- パラメータ:
attribute
- 設定される属性のIDと設定される値。- 例外:
AttributeNotFoundException
- 指定された属性が存在しないか、または検索できない場合InvalidAttributeValueException
- 指定された値が属性に対して有効でない場合MBeanException
- MBeanのsetterによってスローされるjava.lang.Exception
をラップする場合。ReflectionException
- MBeanのsetterの呼出し時にスローされるjava.lang.Exception
をラップする場合- 関連項目:
DynamicMBean.getAttribute(java.lang.String)
-
getAttributes
public AttributeList getAttributes(String[] attributes)インタフェースからコピーされた説明:DynamicMBean
Dynamic MBeanの複数の属性の値を取得します。- 定義:
getAttributes
、インタフェース:DynamicMBean
- パラメータ:
attributes
- 取得される属性のリスト。- 戻り値:
- 取得される属性のリスト。
- 関連項目:
DynamicMBean.setAttributes(javax.management.AttributeList)
-
setAttributes
public AttributeList setAttributes(AttributeList attributes)インタフェースからコピーされた説明:DynamicMBean
Dynamic MBeanの複数の属性の値を設定します。- 定義:
setAttributes
、インタフェース:DynamicMBean
- パラメータ:
attributes
- 属性のリスト。属性のリスト(設定される属性のIDと設定される値)。- 戻り値:
- 設定された属性と新しい値のリスト。
- 関連項目:
DynamicMBean.getAttributes(java.lang.String[])
-
invoke
public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionExceptionインタフェースからコピーされた説明:DynamicMBean
Dynamic MBean上でのアクションの呼出しを許可します。- 定義:
invoke
、インタフェース:DynamicMBean
- パラメータ:
actionName
- 呼び出されるアクションの名前。params
- アクションの呼出し時に設定されるパラメータを含む配列。signature
- アクションのシグニチャを含む配列。 クラス・オブジェクトのロードには、アクションを呼び出すMBeanをロードするときと同じクラス・ローダーが使用される。- 戻り値:
- アクションによって返されるオブジェクト。指定されたMBean上でのアクションの呼出しの結果を表す。
- 例外:
MBeanException
- MBeanの呼出しメソッドによってスローされるjava.lang.Exception
をラップする場合。ReflectionException
- メソッドの呼出し時にスローされるjava.lang.Exception
をラップする場合。
-
getMBeanInfo
public MBeanInfo getMBeanInfo()このMBeanのMBeanInfo
を取得します。このメソッドは
DynamicMBean.getMBeanInfo()
を実装します。このメソッドは、このMBeanのためにキャッシュされているMBeanInfoを取得するため、最初に
getCachedMBeanInfo()
を呼び出します。getCachedMBeanInfo()
によって返されるMBeanInfoがnullでない場合、それが返されます。
それ以外の場合、このメソッドは、このMBeanの指定の管理インタフェースを使って、このMBeanのデフォルトのMBeanInfoを構築します。このメソッドは、MBeanInfoの構築時に、サブクラスがカスタムの記述、パラメータ名などを提供できるようにカスタマイズ・フックを呼び出します。
最終的には、新しいMBeanInfoをキャッシュするため、cacheMBeanInfo()
を呼び出します。- 定義:
getMBeanInfo
、インタフェース:DynamicMBean
- 戻り値:
- nullでない場合、キャッシュされているそのMBeanのMBeanInfo。何もキャッシュされていない場合、新しく構築されたMBeanInfo。
-
getClassName
カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用されるclassNameを取得します。
サブクラスは、カスタム・クラス名を提供するため、このメソッドを再定義できます。 デフォルトの実装ではinfo.getClassName()
を返します。- パラメータ:
info
- リフレクションによって派生したデフォルトのMBeanInfo。- 戻り値:
- 新しいMBeanInfoのクラス名。
-
getDescription
カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用される説明を取得します。
サブクラスは、カスタムのMBeanの説明を提供するため、このメソッドを再定義できます。 デフォルトの実装ではinfo.getDescription()
を返します。- パラメータ:
info
- リフレクションによって派生したデフォルトのMBeanInfo。- 戻り値:
- 新しいMBeanInfoの説明。
-
getDescription
protected String getDescription(MBeanFeatureInfo info)カスタマイズ・フック: このMBeanから返されるMBeanFeatureInfoで使用される説明を取得します。
サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。 デフォルトの実装では
info.getDescription()
を返します。このメソッドは
getDescription(MBeanAttributeInfo)
、getDescription(MBeanOperationInfo)
、getDescription(MBeanConstructorInfo)
により呼び出されます。- パラメータ:
info
- リフレクションによって派生したデフォルトのMBeanFeatureInfo。- 戻り値:
- 指定されたMBeanFeatureInfoの説明
-
getDescription
protected String getDescription(MBeanAttributeInfo info)カスタマイズ・フック: このMBeanから返されるMBeanAttributeInfoで使用される説明を取得します。サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。 デフォルトの実装では
getDescription((MBeanFeatureInfo) info)
を返します。- パラメータ:
info
- リフレクションによって派生したデフォルトのMBeanAttributeInfo。- 戻り値:
- 指定されたMBeanAttributeInfoの説明
-
getDescription
protected String getDescription(MBeanConstructorInfo info)カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoで使用される説明を取得します。
サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。 デフォルトの実装ではgetDescription((MBeanFeatureInfo) info)
を返します。- パラメータ:
info
- リフレクションによって派生したデフォルトのMBeanConstructorInfo。- 戻り値:
- 指定されたMBeanConstructorInfoの説明
-
getDescription
protected String getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoのsequence MBeanParameterInfoに使用される説明を取得します。
サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。 デフォルトの実装ではparam.getDescription()
を返します。- パラメータ:
ctor
- リフレクションによって派生したデフォルトのMBeanConstructorInfo。param
- リフレクションによって派生したデフォルトのMBeanParameterInfo。sequence
- パラメータのシーケンス番号。0は最初のパラメータ、1は2番目のパラメータ(以下同様)。- 戻り値:
- 指定されたMBeanParameterInfoの説明。
-
getParameterName
protected String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoのsequence MBeanParameterInfoに使用される名前を取得します。
サブクラスは、カスタムのパラメータ名を提供するため、このメソッドを再定義できます。 デフォルトの実装ではparam.getName()
を返します。- パラメータ:
ctor
- リフレクションによって派生したデフォルトのMBeanConstructorInfo。param
- リフレクションによって派生したデフォルトのMBeanParameterInfo。sequence
- パラメータのシーケンス番号。0は最初のパラメータ、1は2番目のパラメータ(以下同様)。- 戻り値:
- 指定されたMBeanParameterInfoの名前。
-
getDescription
protected String getDescription(MBeanOperationInfo info)カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoで使用される説明を取得します。
サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。 デフォルトの実装ではgetDescription((MBeanFeatureInfo) info)
を返します。- パラメータ:
info
- リフレクションによって派生したデフォルトのMBeanOperationInfo。- 戻り値:
- 指定されたMBeanOperationInfoの説明。
-
getImpact
protected int getImpact(MBeanOperationInfo info)カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoで使用されるオペレーションのimpactフラグを取得します。
サブクラスは、カスタムのimpactフラグを提供するため、このメソッドを再定義できます。 デフォルトの実装ではinfo.getImpact()
を返します。- パラメータ:
info
- リフレクションによって派生したデフォルトのMBeanOperationInfo。- 戻り値:
- 指定されたMBeanOperationInfoのimpactフラグ。
-
getParameterName
protected String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoのsequence MBeanParameterInfoに使用される名前を取得します。
サブクラスは、カスタムのパラメータ名を提供するため、このメソッドを再定義できます。 デフォルトの実装ではparam.getName()
を返します。- パラメータ:
op
- リフレクションによって派生したデフォルトのMBeanOperationInfo。param
- リフレクションによって派生したデフォルトのMBeanParameterInfo。sequence
- パラメータのシーケンス番号。0は最初のパラメータ、1は2番目のパラメータ(以下同様)。- 戻り値:
- 指定されたMBeanParameterInfoに使用する名前。
-
getDescription
protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoのsequence MBeanParameterInfoに使用される説明を取得します。
サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。 デフォルトの実装ではparam.getDescription()
を返します。- パラメータ:
op
- リフレクションによって派生したデフォルトのMBeanOperationInfo。param
- リフレクションによって派生したデフォルトのMBeanParameterInfo。sequence
- パラメータのシーケンス番号。0は最初のパラメータ、1は2番目のパラメータ(以下同様)。- 戻り値:
- 指定されたMBeanParameterInfoの説明。
-
getConstructors
protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors, Object impl)カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用されるMBeanConstructorInfo[]を取得します。
デフォルトでは、このメソッドは、ラップされた実装がthisでない場合、null
を返します。 ラップされた実装がこのオブジェクト自体でない場合、MBeanServer.createMBean(...)
を通して実装コンストラクタを呼び出しても、ラップされた実装を作成し直すことはできません。
ラップされた実装がthisの場合、ctorsが返されます。
サブクラスは、この動作を必要に応じて変更するため、このメソッドを再定義できます。- パラメータ:
ctors
- リフレクションによって派生したデフォルトのMBeanConstructorInfo[]。impl
- ラップされた実装。null
が渡されると、ラップされた実装は無視され、ctorsが返される。- 戻り値:
- 新しいMBeanInfoのMBeanConstructorInfo[].
-
getCachedMBeanInfo
protected MBeanInfo getCachedMBeanInfo()カスタマイズ・フック: このオブジェクト用にキャッシュされたMBeanInfoを返します。サブクラスは、固有のキャッシング・ポリシーを実装するため、このメソッドを再定義できます。 デフォルトの実装は、インスタンスごとに
MBeanInfo
オブジェクトを1つずつ格納します。- 戻り値:
- キャッシュされたMBeanInfo。MBeanInfoがキャッシュされていない場合はnull。
- 関連項目:
cacheMBeanInfo(MBeanInfo)
-
cacheMBeanInfo
protected void cacheMBeanInfo(MBeanInfo info)カスタマイズ・フック: このオブジェクト用に構築されたMBeanInfoをキャッシュに入れます。サブクラスは、固有のキャッシング・ポリシーを実装するため、このメソッドを再定義できます。 デフォルトの実装は、このインスタンスに
info
を格納します。 サブクラスは、その他のポリシーも定義できます。たとえば、getMBeanInfo()
の呼出しのたびに再構築されるようにinfo
を保存しないポリシーや、複数のStandardMBean
インスタンスが同等のMBeanInfo
値を持つ場合に単一のMBeanInfo
オブジェクトを共有するポリシーなどを定義できます。- パラメータ:
info
- キャッシュする新しいMBeanInfo
。 以前にキャッシュされた値はすべて破棄される。 新しくキャッシュされた値がない場合、このパラメータはnull。
-
preRegister
public ObjectName preRegister(MBeanServer server, ObjectName name) throws ExceptionMBeanサーバーに登録する前に、MBeanが必要なオペレーションを実行できるようにします。 MBeanの名前を指定しないと、MBeanにより、登録用の名前が提供されます。 例外がスローされた場合、MBeanはMBeanサーバーに登録されません。
このメソッドのデフォルト実装は
name
パラメータを返します。 Standard MBeanの場合、他に何も行いません。 MXBeanの場合、MBeanServer
およびObjectName
パラメータが記録されます。これらは、MXBean間の参照変換に使用できます。このメソッドをオーバーライドするサブクラスは、オーバーライドされたメソッドを
super.preRegister(...)
を介して呼び出すことをお勧めします。 このオブジェクトが、ほかのMXBeanの属性またはオペレーションにより参照されるMXBeanである場合、これは必須の方法です。- 定義:
preRegister
、インタフェース:MBeanRegistration
- パラメータ:
server
- MBeanサーバー。MBeanはここに登録される。name
- MBeanのオブジェクト名。MBeanServer
インタフェース内のcreateMBean
またはregisterMBean
メソッドのnameパラメータがnullの場合、この名前もnullになる。 この場合、このメソッドは、新しいMBean用にnull以外のObjectNameを必ず返す。- 戻り値:
- MBeanの登録名。 nullは指定できない。
name
パラメータがnull以外の場合、通常は値が返されるが、これは必須ではない。 - 例外:
IllegalArgumentException
- これがMXBeanで、name
がnullの場合。InstanceAlreadyExistsException
- これがMXBeanで、このMBeanサーバーまたは別のMBeanサーバーに、別の名前で登録済みの場合。Exception
- このメソッドによりほかのチェック例外がスローされることはないが、サブクラスがこのメソッドをオーバーライドして独自の例外をスローできるように、Exception
が宣言される。- 導入されたバージョン:
- 1.6
-
postRegister
public void postRegister(Boolean registrationDone)MBeanサーバーへの登録が成功または失敗したあと、MBeanが必要なオペレーションを実行できるようにします。
このメソッドのデフォルト実装では、Standard MBeanに対して何の処理も行われません。 MXBeanでは、登録が失敗すると、
preRegister
により実行された処理がすべて取り消されます。このメソッドをオーバーライドするサブクラスは、オーバーライドされたメソッドを
super.postRegister(...)
を介して呼び出すことをお勧めします。 このオブジェクトが、ほかのMXBeanの属性またはオペレーションにより参照されるMXBeanである場合、これは必須の方法です。- 定義:
postRegister
、インタフェース:MBeanRegistration
- パラメータ:
registrationDone
- MBeanがMBeanサーバーに正常に登録されたかどうかを示す。 登録に失敗した場合の値はfalse。- 導入されたバージョン:
- 1.6
-
preDeregister
public void preDeregister() throws ExceptionMBeanサーバーから登録解除する前に、MBeanが必要なオペレーションを実行できるようにします。
このメソッドのデフォルト実装では何の処理も行われません。
このメソッドをオーバーライドするサブクラスは、オーバーライドされたメソッドを
super.preDeregister(...)
を介して呼び出すことをお勧めします。- 定義:
preDeregister
、インタフェース:MBeanRegistration
- 例外:
Exception
- このメソッドによりチェック例外はスローされないが、サブクラスがこのメソッドをオーバーライドして独自の例外をスローできるように、Exception
が宣言される。- 導入されたバージョン:
- 1.6
-
postDeregister
public void postDeregister()MBeanサーバーから登録解除したあと、MBeanが必要なオペレーションを実行できるようにします。
このメソッドのデフォルト実装では、Standard MBeanに対して何の処理も行われません。 MXBeanでは、
preRegister
メソッドにより記録された情報がすべて削除されます。このメソッドをオーバーライドするサブクラスは、オーバーライドされたメソッドを
super.postRegister(...)
を介して呼び出すことをお勧めします。 このオブジェクトが、ほかのMXBeanの属性またはオペレーションにより参照されるMXBeanである場合、これは必須の方法です。- 定義:
postDeregister
、インタフェース:MBeanRegistration
- 導入されたバージョン:
- 1.6
-