モジュール java.management

クラスRequiredModelMBean

  • すべての実装されたインタフェース:
    DynamicMBean, MBeanRegistration, ModelMBean, ModelMBeanNotificationBroadcaster, NotificationBroadcaster, NotificationEmitter, PersistentMBean


    public class RequiredModelMBean
    extends Object
    implements ModelMBean, MBeanRegistration, NotificationEmitter
    このクラスは、ModelMBeanの実装です。 すべてのJMXエージェントに適切なModelMBeanの実装が付属している必要があります。また、クラス名は必ずRequiredModelMBeanとします。

    管理対象になるJavaリソースは、MBeanServerのcreateMBeanメソッドを使って、RequiredModelMBeanをインスタンス化します。 次に、RequiredModelMBeanインスタンスのMBeanInfoおよびDescriptorを設定します。 ModelMBeanのModelMBeanInfoで公開された属性とオペレーションには、MBean、コネクタ、アダプタからアクセスできます。 Descriptorを使って、管理対象アプリケーション内の値とメソッドを定義し、ModelMBeanの属性およびオペレーションにマップすることができます。 このマッピングは、XML形式のファイル内、または実行時にプログラムを使って動的に定義できます。

    MBeanServer内でインスタンス化される各RequiredModelMBeanが管理対象になります。
    これらの属性およびオペレーションには、MBeanServerに接続されたコネクタまたはアダプタ経由でリモート・アクセスできます。

    JMX準拠のMBeanでないJavaオブジェクトは、MBeanServerに登録できません。 RequiredModelMBeanをインスタンス化することで、リソースはMBeanが有効であることを保証されます。 すべてのpublicメソッドで、MBeanExceptionおよびRuntimeOperationsExceptionがスローされる必要があります。 これにより、分散型通信(RMI、EJBなど)からの例外のラップが可能になります。

    導入されたバージョン:
    1.5
    • メソッドの詳細

      • setModelMBeanInfo

        public void setModelMBeanInfo​(ModelMBeanInfo mbi)
                               throws MBeanException,
                                      RuntimeOperationsException
        渡されたModelMBeanInfoを使ってModelMBeanオブジェクトを初期化します。 このメソッドを使用すると、ModelMBean上に、MBeanServerに登録されていないカスタムModelMBeanInfoを設定できます。
        ModelMBeanのModelMBeanInfo (Descriptor付き)をカスタマイズし、ModelMBeanに設定したあと、ModelMBeanをMBeanServerに登録することができます。

        ModelMBeanが現在登録されている場合、このメソッドはIllegalStateExceptionをラップするRuntimeOperationsExceptionをスローします。

        指定のinModelMBeanInfoGENERICまたはATTRIBUTE_CHANGE通知のModelMBeanNotificationInfoが含まれない場合、RequiredModelMBeanにより、デフォルトのModelMBeanNotificationInfoが提供されます。

        定義:
        setModelMBeanInfo、インタフェース: ModelMBean
        パラメータ:
        mbi - ModelMBeanによって使用されるModelMBeanInfoオブジェクト。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException -
      • load

        public void load​()
                  throws MBeanException,
                         RuntimeOperationsException,
                         InstanceNotFoundException

        このMBeanインスタンスを、永続ストアで見つかるMBean用のデータでインスタンス化します。 データとして、属性とオペレーションの値をロードできます。

        このメソッドは、このインスタンスの構築または初期化時、MBeanをMBeanServerに登録する前に呼び出します。

        このクラスの実装が永続性をサポートしない場合、ServiceNotFoundExceptionをラップするMBeanExceptionがスローされます。

        定義:
        load、インタフェース: PersistentMBean
        例外:
        MBeanException - その他の例外をラップする場合、または永続性がサポートされない場合
        RuntimeOperationsException - 永続メカニズムからの例外をラップする場合
        InstanceNotFoundException - このMBeanが見つからない場合、または永続ストレージからロードできない場合
      • store

        public void store​()
                   throws MBeanException,
                          RuntimeOperationsException,
                          InstanceNotFoundException

        このMBeanインスタンスの現在の状態を取り込み、永続ストアに書き出します。 属性やオペレーションの値が、状態として格納される場合もあります。

        このクラスの実装が永続性をサポートしない場合、ServiceNotFoundExceptionをラップするMBeanExceptionがスローされます。

        MBeanの永続性ポリシーおよび属性記述子を使って、このメソッドの実行を制御します。 persistPolicyフィールドが次の内容になっている場合、MBeanは格納されます。

         != "never"
           = "always"
           = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'
           = "NoMoreOftenThan" and now > 'lastPersistTime' + 'persistPeriod'
           = "onUnregister"
         

        persistPolicyフィールドが次の内容になっている場合、MBeanは格納されません。

            = "never"
            = "onUpdate"
            = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
         
        定義:
        store、インタフェース: PersistentMBean
        例外:
        MBeanException - その他の例外をラップする場合、または永続性がサポートされない場合
        RuntimeOperationsException - 永続メカニズムからの例外をラップする場合
        InstanceNotFoundException - 永続ストアが見つからない場合、またはアクセスできない場合
      • getMBeanInfo

        public MBeanInfo getMBeanInfo​()
        このRequiredModelMBeanが管理用に公開する属性、オペレーション、コンストラクタ、および通知を返します。
        定義:
        getMBeanInfo、インタフェース: DynamicMBean
        戻り値:
        ModelMBeanInfoのインスタンス。このMBeanのすべての属性、オペレーション、および通知の取得を許可する。
      • invoke

        public Object invoke​(String opName,
                             Object[] opArgs,
                             String[] sig)
                      throws MBeanException,
                             ReflectionException
        RequiredModelMBean上または経由でメソッドを呼び出し、その実行結果を返します。

        呼び出されるメソッドとシグニチャがRequiredModelMbeanからアクセス可能なメソッドのいずれかに一致している場合、このメソッドが呼び出されます。 それ以外の場合、管理対象のリソース上で、指定のメソッドの呼出しが試行されます。

        オペレーションによって返される最後の値は、ModelMBeanOperationInfoの記述子内のオペレーション記述子にキャッシュされることがあります。 有効な値が存在する場合、valueフィールド内に存在します。 値がキャッシュされるかどうかは、記述子内のcurrencyTimeLimitフィールドの値によって決まります。

        • <0の場合、値は無効で、キャッシュされない。 オペレーション・メソッドが呼び出される。 valueフィールドとlastUpdatedTimeStampフィールドはクリアされる。
        • =0の場合、値は常に有効で、常にキャッシュされる。 valueフィールドが返される。 valueフィールドが存在しない場合、属性用としてオペレーション・メソッドが呼び出される。 lastUpdatedTimeStampフィールドとvalueフィールドには、オペレーションの戻り値および現在のタイムスタンプが設定される。
        • >0は、valueフィールドの有効期間を表す秒数。 lastUpdatedTimeStamp+currencyTimeLimit> Nowの場合、valueフィールドは無効になる。
          • valueが有効である場合、valueが返される。
          • valueが無効になった場合、オペレーション・メソッドが呼び出される。 lastUpdatedTimeStampフィールドおよびvalueフィールドが更新される。

        注: 以前のバージョンの仕様との不整合があるため、currencyTimeLimitにはゼロ以下の値を使用しないようにしてください。 キャッシュに入った値が有効でないことを示す場合は、currencyTimeLimitフィールドを省略します。 この値が常に有効であることを示す場合は、このフィールドに非常に大きい値を指定します。

        定義:
        invoke、インタフェース: DynamicMBean
        パラメータ:
        opName - 呼び出されるメソッドの名前。 クラス名を含む完全修飾メソッド名。オペレーション記述子のclassフィールドにクラス名が定義されている場合はメソッド名のみ。
        opArgs - オペレーションの呼出し時に設定されるパラメータを含む配列。
        sig - オペレーションのシグニチャを含む配列。 クラス・オブジェクトのロードには、オペレーションを呼び出したMBeanをロードするときと同じクラス・ローダーが使用される。
        戻り値:
        メソッドによって返されるオブジェクト。指定された管理対象のリソース上でメソッドを呼び出した結果を表す。
        例外:
        MBeanException - 次のいずれかのExceptionをラップする:
        • 管理対象オブジェクトの呼出しメソッドによってスローされたException。
        • ServiceNotFoundException: ModelMBeanOperationInfoが存在しない場合、指定のオペレーションの記述子が定義されていない場合、または管理対象のリソースがnullの場合。
        • InvalidTargetObjectTypeException: targetTypeフィールドの値がobjectReferenceでない場合。
        ReflectionException - メソッドの呼出し時にスローされるExceptionをラップする。
        RuntimeOperationsException - IllegalArgumentExceptionをラップする。メソッド名がnullの場合。
      • getAttribute

        public Object getAttribute​(String attrName)
                            throws AttributeNotFoundException,
                                   MBeanException,
                                   ReflectionException
        このModelMBeanに定義された特定の属性の値を返します。 属性によって返される最後の値は、属性の記述子内にキャッシュされることがあります。 有効な値が存在する場合、valueフィールド内に存在します。 値がキャッシュされるかどうかは、記述子内のcurrencyTimeLimitフィールドの値によって決まります。
        • <0の場合、値は無効で、キャッシュされない。 属性に対して取得メソッドが呼び出される。 valueフィールドとlastUpdatedTimeStampフィールドはクリアされる。
        • =0の場合、値は常に有効で、常にキャッシュされる。 valueフィールドが返される。 valueフィールドが存在しない場合、属性用として取得メソッドが呼び出される。 lastUpdatedTimeStampフィールドとvalueフィールドには、属性値および現在のタイムスタンプが設定される。
        • >0は、valueフィールドの有効期間を表す秒数。 lastUpdatedTimeStamp+currencyTimeLimit> Nowの場合、valueフィールドは無効になる。
          • valueが有効である場合、valueが返される。
          • valueが無効になった場合、属性に対して取得メソッドが呼び出される。 lastUpdatedTimeStampフィールドおよびvalueフィールドが更新される。

        注: 以前のバージョンの仕様との不整合があるため、currencyTimeLimitにはゼロ以下の値を使用しないようにしてください。 キャッシュに入った値が有効でないことを示す場合は、currencyTimeLimitフィールドを省略します。 この値が常に有効であることを示す場合は、このフィールドに非常に大きい値を指定します。

        getMethodフィールドに有効なオペレーション記述子の名前が含まれる場合、このオペレーション記述子によって記述されたメソッドが実行されます。 メソッドは、応答として属性値を返します。 オペレーションが失敗した場合、または戻り値の型が属性の宣言型と互換性がない場合、例外がスローされます。

        getMethodフィールドが定義されていない場合、属性のデフォルト値が返されます。 戻り値の型が属性の宣言型と互換性がない場合、例外がスローされます。

        属性の宣言型は、MBeanAttributeInfo.getType()により返されるStringです。 次のいずれかが当てはまる場合、値はこの型と互換性があります。

        • valueがnullである。
        • 宣言された名前がプリミティブ型の名前(「int」など)であり、値が対応するラッパー型のインスタンス(java.lang.Integerなど)である。
        • 値のクラスの名前が、宣言された名前と同一である。
        • 宣言された名前を値のクラス・ローダーを使ってロードできる。また、値を割当て可能なクラスが生成される。

        この実装で、getMethodを呼び出す必要がある場合は、呼出しが正常に行われるように、このgetMethodに対してオペレーションを指定する必要があります。これは、メソッドが標準の呼出しメソッドから呼び出され、operationInfoが必要になるからです。

        定義:
        getAttribute、インタフェース: DynamicMBean
        パラメータ:
        attrName - 取得される属性の名前を指定するString。 ModelMBeanAttributeInfoの名前に一致している必要がある。
        戻り値:
        記述子のvalueフィールドから取得した属性の値。または、記述子のgetMethodフィールド内のオペレーションの呼出しによって取得した属性の値。
        例外:
        AttributeNotFoundException - 指定の属性がMBeanにアクセスできない場合。 次の場合、AttributeNotFoundExceptionがスローされる可能性がある。
        • ModelMBeanのModelMBeanInfoが見つからない場合。
        • 指定の属性名のModelMBeanAttributeInfoが見つからない場合。
        • ModelMBeanAttributeInfoのisReadableメソッドの戻り値がfalseの場合。
        MBeanException - 次のいずれかのExceptionをラップする:
        • InvalidAttributeValueException: 属性の取得メソッドから受け取った値の型が不正な場合、または属性の記述子内にgetMethodフィールドが定義されておらず、デフォルト値が存在しない場合。
        • ServiceNotFoundException: 属性の取得メソッドに対してModelMBeanOperationInfoが定義されていない場合、ModelMBeanOperationInfoに記述子が関連付けられていない場合、または管理対象のリソースがnullの場合。
        • InvalidTargetObjectTypeException。targetTypeフィールドの値がobjectReferenceでない場合。
        • 管理対象オブジェクトの取得メソッドによってスローされたException。
        ReflectionException - 取得メソッドの呼出し時にスローされるExceptionをラップする。
        RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: パラメータ内の属性名はnull。
        関連項目:
        setAttribute(javax.management.Attribute)
      • setAttribute

        public void setAttribute​(Attribute attribute)
                          throws AttributeNotFoundException,
                                 InvalidAttributeValueException,
                                 MBeanException,
                                 ReflectionException
        指定されたModelMBeanの特定の属性の値を設定します。 属性の記述子のsetMethodフィールドに有効なオペレーション記述子の名前が含まれる場合、このオペレーション記述子によって記述されたメソッドが実行されます。 この実装では、setMethodを正常に動作させるため、オペレーション記述子を正しく指定し、modelMBeanInfoに割り当てる必要があります。 メソッドからの応答内容は、記述子内の属性の値として設定されます。

        currencyTimeLimitが> 0の場合、属性の新しい値が属性記述子のvalueフィールドにキャッシュされ、lastUpdatedTimeStampフィールドに現在のタイムスタンプが設定されます。

        属性の記述子の永続フィールドがnull以外の場合、永続ストア内に属性を格納するため、属性記述子のPersistenceポリシーが使用されます。
        persistPolicyフィールドが次の内容になっている場合、MBeanが格納されます。

        • != "never"
        • = "always"
        • = "onUpdate"
        • = "onTimer"およびnow> 'lastPersistTime'+'persistPeriod'
        • = "NoMoreOftenThan"およびnow> 'lastPersistTime'+'persistPeriod'
        persistPolicyフィールドが次の内容になっている場合、MBeanは格納されません。
        • != "never"
        • = = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
        • = "onUnregister"
        • = = "NoMoreOftenThan"およびnow < 'lastPersistTime' + 'persistPeriod'

        Model MBeanのModelMBeanInfoはファイルに格納されます。

        定義:
        setAttribute、インタフェース: DynamicMBean
        パラメータ:
        attribute - 設定される属性の名前と設定値を含むAttributeインスタンス。
        例外:
        AttributeNotFoundException - 指定の属性がMBeanにアクセスできない場合。
        次の場合、AttributeNotFoundExceptionがスローされる可能性がある。
        • 指定の属性のModelMBeanAttributeInfoが見つからない場合。
        • ModelMBeanAttributeInfoのisWritableメソッドの戻り値がfalseの場合。
        InvalidAttributeValueException - 指定の属性に記述子が定義されていない場合。
        MBeanException - 次のいずれかのExceptionをラップする:
        • 管理対象オブジェクトの設定メソッドによってスローされたException。
        • ServiceNotFoundException。属性の記述子にsetMethodフィールドが定義されていて、管理対象のリソースがnullの場合。またはsetMethodフィールドが定義されておらず、属性でキャッシュが有効になっていない場合。 getMethodフィールドも存在しない場合は、キャッシュが自動的に有効になる。
        • InvalidTargetObjectTypeException。targetTypeフィールドの値がobjectReferenceでない場合。
        • 管理対象オブジェクトの取得メソッドによってスローされたException。
        ReflectionException - 設定メソッドの呼出し時にスローされるExceptionをラップする。
        RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: パラメータ内の属性名がnullの場合
        関連項目:
        getAttribute(java.lang.String)
      • setAttributes

        public AttributeList setAttributes​(AttributeList attributes)
        このModelMBeanの属性の配列の値を設定します。 リスト内の各属性に対してsetAttribute()メソッドを実行します。
        定義:
        setAttributes、インタフェース: DynamicMBean
        パラメータ:
        attributes - 属性のリスト。属性のリスト(設定される属性のIDと設定される値)。
        戻り値:
        Attributeインスタンス内の新しい値で設定された属性の配列。
        例外:
        RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。
        関連項目:
        getAttributes(java.lang.String[])
      • addNotificationListener

        public void addNotificationListener​(NotificationListener listener,
                                            NotificationFilter filter,
                                            Object handback)
                                     throws IllegalArgumentException
        NotificationListenerインタフェースを実装するオブジェクトをリスナーとして登録します。 ModelMBeanによって任意の通知が発行されると、このオブジェクトのhandleNotification()メソッドが呼び出されます。 attributeChangeNotificationは含みません。 これらは個別に登録する必要があります。
        定義:
        addNotificationListener、インタフェース: NotificationBroadcaster
        パラメータ:
        listener - 登録済みMBeanが発行した通知を処理するリスナー・オブジェクト。
        filter - フィルタ・オブジェクト。 nullの場合、通知処理の前にフィルタは適用されない。
        handback - 通知が発行されたとき通知とともにリスナーに送信されるコンテキスト。
        例外:
        IllegalArgumentException - リスナーはnullにできない。
        関連項目:
        removeNotificationListener(javax.management.NotificationListener)
      • removeNotificationListener

        public void removeNotificationListener​(NotificationListener listener,
                                               NotificationFilter filter,
                                               Object handback)
                                        throws ListenerNotFoundException
        インタフェースからコピーされた説明: NotificationEmitter

        このMBeanからリスナーを削除します。 MBeanは、指定されたlistenerfilter、およびhandbackパラメータと正確に一致するリスナーを持っている必要があります。 該当するリスナーが複数存在する場合、そのうちの1つだけが削除されます。

        削除されるリスナー内でnullが指定されている場合にのみ、filterおよびhandbackパラメータはnullになります。

        定義:
        removeNotificationListener、インタフェース: NotificationEmitter
        パラメータ:
        listener - 以前にこのMBeanに追加されたリスナー。
        filter - リスナーの追加時に指定されたフィルタ。
        handback - リスナーの追加時に指定されたハンドバック。
        例外:
        ListenerNotFoundException - リスナーがMBeanに登録されていない場合、または指定されたフィルタおよびハンドバックで登録されていない場合。
      • sendNotification

        public void sendNotification​(String ntfyText)
                              throws MBeanException,
                                     RuntimeOperationsException
        インタフェースからコピーされた説明: ModelMBeanNotificationBroadcaster
        ModelMBean上の登録済みNotificationリスナーに渡されるテキスト文字列を含むNotificationを送信します。
        定義:
        sendNotification、インタフェース: ModelMBeanNotificationBroadcaster
        パラメータ:
        ntfyText - Notificationに指定され、リスナー・オブジェクトのhandleNotificationメソッドに渡されるテキスト。構築されるNotificationを次に示す。type: "jmx.modelmbean.generic"、source: このModelMBeanインスタンス、sequence: 1
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: パラメータとして渡されたNotificationテキスト文字列がnullの場合。
      • getNotificationInfo

        public MBeanNotificationInfo[] getNotificationInfo​()
        常にRequiredModelMBeanによって生成されるNotificationの配列を返します。

        RequiredModelMBeanは、2つの追加通知を送信する場合があります。

        • 1つは記述"name=GENERIC,descriptorType=notification,log=T,severity=6,displayName=jmx.modelmbean.generic"を持つ通知
        • もう1つは記述子"name=ATTRIBUTE_CHANGE,descriptorType=notification,log=T,severity=6,displayName=jmx.attribute.change"を持つ標準属性変更通知
        これらの2つの通知は、アプリケーションによって指定された通知に常に追加されます。
        定義:
        getNotificationInfo、インタフェース: NotificationBroadcaster
        戻り値:
        MBeanNotificationInfo[]
      • sendAttributeChangeNotification

        public void sendAttributeChangeNotification​(Attribute inOldVal,
                                                    Attribute inNewVal)
                                             throws MBeanException,
                                                    RuntimeOperationsException
        インタフェースからコピーされた説明: ModelMBeanNotificationBroadcaster
        ModelMBean上の登録済みAttributeChangeNotificationリスナーに、属性の古い値と新しい値を含むattributeChangeNotificationを送信します。
        定義:
        sendAttributeChangeNotification、インタフェース: ModelMBeanNotificationBroadcaster
        パラメータ:
        inOldVal - Attributeの初期値
        inNewVal - Attributeの現在の値
         The constructed attributeChangeNotification will be:
           type        "jmx.attribute.change"
           source      this ModelMBean instance
           sequence    1
           attributeName oldValue.getName()
           attributeType oldValue's class
           attributeOldValue oldValue.getValue()
           attributeNewValue newValue.getValue()
         
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: パラメータとして渡されるAttributeオブジェクトがnullである場合、またはパラメータに同じ名前のAttributeオブジェクトが複数指定された場合。
      • getClassLoaderRepository

        protected ClassLoaderRepository getClassLoaderRepository​()
        クラスのロードに使用されたクラス・ローダー・リポジトリを返します。 サブクラスは、このオブジェクト内で使用する適切なClassLoaderRepositoryを返すため、このメソッドを再定義することができます。
        戻り値:
        クラス・ローダー・リポジトリ
      • preRegister

        public ObjectName preRegister​(MBeanServer server,
                                      ObjectName name)
                               throws Exception
        MBeanサーバーに登録する前に必要なオペレーションをMBeanが実行することを許可します。 MBeanの名前を指定しないと、MBeanにより、登録用の名前が提供されます。 例外がスローされた場合、MBeanはMBeanサーバーに登録されません。

        RequireModelMBeanが実行時に適切に機能するように、このメソッドをオーバーロードまたはオーバーライドするRequiredModelMBeanのサブクラスは、固有のpreRegister実装内のsuper.preRegister(server, name)を呼び出す必要があります。

        定義:
        preRegister、インタフェース: MBeanRegistration
        パラメータ:
        server - MBeanサーバー。MBeanはここに登録される。
        name - MBeanのオブジェクト名。 MBeanServerインタフェース内のcreateMBeanまたはregisterMBeanメソッドのnameパラメータがnullの場合、この名前もnullになる。 この場合、このメソッドは、新しいMBean用にnull以外のObjectNameを必ず返す。
        戻り値:
        MBeanの登録名。 nullは指定できない。 nameパラメータがnull以外の場合、通常は値が返されるが、これは必須ではない。
        例外:
        Exception - この例外は、MBeanサーバーにキャッチされ、MBeanRegistrationExceptionとして再スローされる。
      • postRegister

        public void postRegister​(Boolean registrationDone)
        MBeanサーバーへの登録が成功または失敗したあと、MBeanが必要なオペレーションを実行できるようにします。

        RequireModelMBeanが実行時に適切に機能するように、このメソッドをオーバーロードまたはオーバーライドするRequiredModelMBeanのサブクラスは、固有のpostRegister実装内のsuper.postRegister(registrationDone)を呼び出す必要があります。

        定義:
        postRegister、インタフェース: MBeanRegistration
        パラメータ:
        registrationDone - MBeanがMBeanサーバーに正常に登録されたかどうかを示す。 登録に失敗した場合の値はfalse。
      • preDeregister

        public void preDeregister​()
                           throws Exception
        MBeanサーバーから登録解除する前に、MBeanが必要なオペレーションを実行できるようにします。

        RequireModelMBeanが実行時に適切に機能するように、このメソッドをオーバーロードまたはオーバーライドするRequiredModelMBeanのサブクラスは、固有のpreDeregister実装内のsuper.preDeregister()を呼び出す必要があります。

        定義:
        preDeregister、インタフェース: MBeanRegistration
        例外:
        Exception - この例外は、MBeanサーバーにキャッチされ、MBeanRegistrationExceptionとして再スローされる。
      • postDeregister

        public void postDeregister​()
        MBeanサーバーから登録解除したあと、MBeanが必要なオペレーションを実行できるようにします。

        RequireModelMBeanが実行時に適切に機能するように、このメソッドをオーバーロードまたはオーバーライドするRequiredModelMBeanのサブクラスは、固有のpostDeregister実装内のsuper.postDeregister()を呼び出す必要があります。

        定義:
        postDeregister、インタフェース: MBeanRegistration