クラスStandardMBean

java.lang.Object
javax.management.StandardMBean
すべての実装されたインタフェース:
DynamicMBean, MBeanRegistration
直系の既知のサブクラス:
StandardEmitterMBean

public class StandardMBean extends Object implements DynamicMBean, MBeanRegistration

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から作成します。
     <T> 
    StandardMBean(T implementation, Class<T> mbeanInterface)
    指定されたmbeanInterfaceクラスを使って、DynamicMBeanをオブジェクトimplementationから作成します。
     <T> 
    StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)
    指定されたmbeanInterfaceクラスを使用し、結果のMBeanをMXBeanにするかどうかを選択して、DynamicMBeanをオブジェクトimplementationから作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected void
    カスタマイズ・フック: このオブジェクト用に構築されたMBeanInfoをキャッシュに入れます。
    getAttribute(String attribute)
    Dynamic MBeanの特定の属性の値を取得します。
    getAttributes(String[] attributes)
    Dynamic MBeanの複数の属性の値を取得します。
    protected MBeanInfo
    カスタマイズ・フック: このオブジェクト用にキャッシュされたMBeanInfoを返します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用されるclassNameを取得します。
    カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用されるMBeanConstructorInfo[]を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanAttributeInfoで使用される説明を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoで使用される説明を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoのsequence MBeanParameterInfoに使用される説明を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanFeatureInfoで使用される説明を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用される説明を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoで使用される説明を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoのsequence MBeanParameterInfoに使用される説明を取得します。
    protected int
    カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoで使用されるオペレーションのimpactフラグを取得します。
    このStandard MBean (またはMXBean)の実装を取得します。
    このStandard MBean (またはMXBean)の実装のクラスを取得します。
    このMBeanのMBeanInfoを取得します。
    final Class<?>
    このStandard MBean (またはMXBean)の管理インタフェースを取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanConstructorInfoのsequence MBeanParameterInfoに使用される名前を取得します。
    protected String
    カスタマイズ・フック: このMBeanから返されるMBeanOperationInfoのsequence MBeanParameterInfoに使用される名前を取得します。
    invoke(String actionName, Object[] params, String[] signature)
    Dynamic MBean上でのアクションの呼出しを許可します。
    void
    MBeanサーバーから登録解除したあと、MBeanが必要なオペレーションを実行できるようにします。
    void
    postRegister(Boolean registrationDone)
    MBeanサーバーへの登録が成功または失敗したあと、MBeanが必要なオペレーションを実行できるようにします。
    void
    MBeanサーバーから登録解除する前に、MBeanが必要なオペレーションを実行できるようにします。
    MBeanサーバーに登録する前に、MBeanが必要なオペレーションを実行できるようにします。
    void
    Dynamic MBeanの特定の属性の値を設定します。
    Dynamic MBeanの複数の属性の値を設定します。
    void
    setImplementation(Object implementation)
    このオブジェクト内のラップされた実装オブジェクトを置換します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • StandardMBean

      public <T> StandardMBean(T implementation, Class<T> mbeanInterface) throws NotCompliantMBeanException

      指定されたmbeanInterfaceクラスを使って、DynamicMBeanをオブジェクトimplementationから作成します。

      型パラメータ:
      T - コンパイラは、implementationmbeanInterfaceで記述されたクラスを実際に実装していることを確認できます。 コンパイラがこのチェックを実行できるのは、mbeanInterfaceMyMBean.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 <T> StandardMBean(T implementation, Class<T> mbeanInterface, boolean isMXBean)

      指定されたmbeanInterfaceクラスを使用し、結果のMBeanをMXBeanにするかどうかを選択して、DynamicMBeanをオブジェクトimplementationから作成します。 このコンストラクタは、Standard MBeanまたはMXBeanの作成に使用できます。 StandardMBean(Object, Class)コンストラクタとは異なり、これはNotCompliantMBeanExceptionをスローしません。

      型パラメータ:
      T - コンパイラは、implementationmbeanInterfaceで記述されたクラスを実際に実装していることを確認できます。 コンパイラがこのチェックを実行できるのは、mbeanInterfaceMyMBean.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

      public Object getImplementation()
      このStandard MBean (またはMXBean)の実装を取得します。
      戻り値:
      このStandard MBean (またはMXBean)の実装。
      関連項目:
    • getMBeanInterface

      public final Class<?> getMBeanInterface()
      このStandard MBean (またはMXBean)の管理インタフェースを取得します。
      戻り値:
      このStandard MBean (またはMXBean)の管理インタフェース。
    • getImplementationClass

      public Class<?> getImplementationClass()
      このStandard MBean (またはMXBean)の実装のクラスを取得します。
      戻り値:
      このStandard MBean (またはMXBean)の実装のクラス。
    • getAttribute

      インタフェースからコピーされた説明: DynamicMBean
      Dynamic MBeanの特定の属性の値を取得します。
      定義:
      getAttribute、インタフェースDynamicMBean
      パラメータ:
      attribute - 取得される属性の名前
      戻り値:
      取得される属性の値。
      スロー:
      AttributeNotFoundException - 指定された属性が存在しないか、または検索できない場合
      MBeanException - MBeanのgetterによってスローされるjava.lang.Exceptionをラップする場合。
      ReflectionException - getterの呼出し時にスローされるjava.lang.Exceptionをラップする場合。
      関連項目:
    • setAttribute

      インタフェースからコピーされた説明: DynamicMBean
      Dynamic MBeanの特定の属性の値を設定します。
      定義:
      setAttribute、インタフェースDynamicMBean
      パラメータ:
      attribute - 設定される属性のIDと設定される値。
      スロー:
      AttributeNotFoundException - 指定された属性が存在しないか、または検索できない場合
      InvalidAttributeValueException - 指定された値が属性に対して有効でない場合
      MBeanException - MBeanのsetterによってスローされるjava.lang.Exceptionをラップする場合。
      ReflectionException - MBeanのsetterの呼出し時にスローされるjava.lang.Exceptionをラップする場合
      関連項目:
    • getAttributes

      public AttributeList getAttributes(String[] attributes)
      インタフェースからコピーされた説明: DynamicMBean
      Dynamic MBeanの複数の属性の値を取得します。
      定義:
      getAttributes、インタフェースDynamicMBean
      パラメータ:
      attributes - 取得される属性のリスト。
      戻り値:
      取得される属性のリスト。
      関連項目:
    • setAttributes

      public AttributeList setAttributes(AttributeList attributes)
      インタフェースからコピーされた説明: DynamicMBean
      Dynamic MBeanの複数の属性の値を設定します。
      定義:
      setAttributes、インタフェースDynamicMBean
      パラメータ:
      attributes - 属性のリスト。属性のリスト(設定される属性のIDと設定される値)。
      戻り値:
      設定された属性と新しい値のリスト。
      関連項目:
    • 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

      protected String getClassName(MBeanInfo info)
      カスタマイズ・フック: このMBeanから返されるMBeanInfoで使用されるclassNameを取得します。
      サブクラスは、カスタム・クラス名を提供するため、このメソッドを再定義できます。
      デフォルトの実装ではinfo.getClassName()を返します。
      パラメータ:
      info - リフレクションによって派生したデフォルトのMBeanInfo。
      戻り値:
      新しいMBeanInfoのクラス名。
    • getDescription

      protected String getDescription(MBeanInfo info)
      カスタマイズ・フック: この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

      protected void cacheMBeanInfo(MBeanInfo info)
      カスタマイズ・フック: このオブジェクト用に構築されたMBeanInfoをキャッシュに入れます。

      サブクラスは、固有のキャッシング・ポリシーを実装するため、このメソッドを再定義できます。 デフォルトの実装は、このインスタンスにinfoを格納します。 サブクラスは、その他のポリシーも定義できます。たとえば、getMBeanInfo()の呼出しのたびに再構築されるようにinfoを保存しないポリシーや、複数のStandardMBeanインスタンスが同等のMBeanInfo値を持つ場合に単一のMBeanInfoオブジェクトを共有するポリシーなどを定義できます。

      パラメータ:
      info - キャッシュする新しいMBeanInfo 以前にキャッシュされた値はすべて破棄される。 新しくキャッシュされた値がない場合、このパラメータはnull。
    • preRegister

      public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception

      MBeanサーバーに登録する前に、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 Exception

      MBeanサーバーから登録解除する前に、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