モジュール java.management

クラスRequiredModelMBean

java.lang.Object
javax.management.modelmbean.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 -
    • setManagedResource

      このModelMBean管理インタフェース(MBeanInfoとDescriptor)内のすべてのメソッドの実行先オブジェクトのインスタンス・ハンドルを設定します。
      定義:
      setManagedResource、インタフェースModelMBean
      パラメータ:
      mr - 管理対象のリソースになっているオブジェクト
      mr_type - 管理対象のリソースの参照の型。
      ObjectReference、Handle、IOR、EJBHandle、RMIReferenceのいずれか。

      この実装でサポートされるのはObjectReferenceのみ。
      例外:
      MBeanException - オブジェクトのイニシャライザが例外をスローした場合。
      InstanceNotFoundException - 管理対象のリソース・オブジェクトが見つからない場合
      InvalidTargetObjectTypeException - 管理対象のリソースの型はObjectReferenceでなければならない。
      RuntimeOperationsException - リソースの設定時にRuntimeExceptionをラップする。
    • load

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

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

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

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

      この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

      この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。
      関連項目:
    • getAttributes

      public AttributeList getAttributes(String[] attrNames)
      ModelMBean内の複数の属性の値を返します。 渡されるattrNames配列内の属性名ごとにgetAttributeを実行します。
      定義:
      getAttributes、インタフェースDynamicMBean
      パラメータ:
      attrNames - 取得される属性の名前から成るString配列。
      戻り値:
      取得される属性の配列。
      例外:
      RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。
      関連項目:
    • setAttribute

      指定された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の場合
      関連項目:
    • setAttributes

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

      public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
      RequiredModelMBeanからNotificationのリスナーを削除します。
      定義:
      removeNotificationListener、インタフェースNotificationBroadcaster
      パラメータ:
      listener - 登録済みMBeanが発行した通知を処理していたリスナーの名前。 このメソッドはこのリスナーに関するすべての情報を削除する。
      例外:
      ListenerNotFoundException - リスナーがMBeanに登録されていないか、nullの場合。
      関連項目:
    • 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(Notification ntfyObj) throws MBeanException, RuntimeOperationsException
      インタフェースからコピーされた説明: ModelMBeanNotificationBroadcaster
      ModelMBean上の登録済みNotificationリスナーに、jmx.modelmbean.generic通知として渡されるNotificationを送信します。
      定義:
      sendNotification、インタフェースModelMBeanNotificationBroadcaster
      パラメータ:
      ntfyObj - リスナー・オブジェクトのhandleNotificationメソッドに渡される通知。
      例外:
      MBeanException - 分散通信Exceptionをラップする。
      RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: パラメータとして渡されたNotificationオブジェクトがnullの場合。
    • 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[]
    • addAttributeChangeNotificationListener

      public void addAttributeChangeNotificationListener(NotificationListener inlistener, String inAttributeName, Object inhandback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException
      インタフェースからコピーされた説明: ModelMBeanNotificationBroadcaster
      NotificationListenerインタフェースを実装するオブジェクトをリスナーとして登録します。 ModelMBeanによって任意のattributeChangeNotificationが発行されると、このオブジェクトのhandleNotification()メソッドが呼び出されます。 その他のNotificationは含みません。 これらは個別に登録する必要があります。 このattributeName用のAttributeChangeNotificationが生成されます。
      定義:
      addAttributeChangeNotificationListener、インタフェースModelMBeanNotificationBroadcaster
      パラメータ:
      inlistener - 登録済みMBeanが発行した通知を処理するリスナー・オブジェクト。
      inAttributeName - ModelMBean属性の名前。この属性の変更通知を受信する。 nullの場合、どの属性が変更されたときもattributeChangeNotificationが発行される。
      inhandback - 通知が発行されたとき通知とともにリスナーに送信されるコンテキスト。
      例外:
      MBeanException - 分散通信Exceptionをラップする。
      RuntimeOperationsException - IllegalArgumentExceptionをラップする。パラメータとして渡される属性名が存在しない場合。
      IllegalArgumentException - リスナーはnullにできない。
      関連項目:
    • removeAttributeChangeNotificationListener

      public void removeAttributeChangeNotificationListener(NotificationListener inlistener, String inAttributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException
      インタフェースからコピーされた説明: ModelMBeanNotificationBroadcaster
      RequiredModelMBeanからattributeChangeNotificationのリスナーを削除します。
      定義:
      removeAttributeChangeNotificationListener、インタフェースModelMBeanNotificationBroadcaster
      パラメータ:
      inlistener - 登録済みMBeanが発行した通知を処理していたリスナーの名前。 このメソッドはこのリスナーに関するすべての情報を削除する。
      inAttributeName - 属性。リスナーは、この属性のattributeChangeNotificationを受信する必要がなくなった。 nullの場合、すべてのattributeChangeNotificationのリスナーが削除される。
      例外:
      MBeanException - 分散通信Exceptionをラップする。
      RuntimeOperationsException - inAttributeNameパラメータが属性名に一致しない場合、IllegalArgumentExceptionをラップする。
      ListenerNotFoundException - リスナーがMBeanに登録されていないか、nullの場合。
      関連項目:
    • sendAttributeChangeNotification

      public void sendAttributeChangeNotification(AttributeChangeNotification ntfyObj) throws MBeanException, RuntimeOperationsException
      インタフェースからコピーされた説明: ModelMBeanNotificationBroadcaster
      ModelMBean上の登録済みattributeChangeNotificationリスナーに渡されるattributeChangeNotificationを送信します。
      定義:
      sendAttributeChangeNotification、インタフェースModelMBeanNotificationBroadcaster
      パラメータ:
      ntfyObj - リスナー・オブジェクトのhandleNotificationメソッドに渡される通知。
      例外:
      MBeanException - 分散通信Exceptionをラップする。
      RuntimeOperationsException - IllegalArgumentExceptionをラップする場合: パラメータとして渡されたAttributeChangeNotificationオブジェクトがnullの場合。
    • 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