- すべての実装されたインタフェース:
DynamicMBean
,MBeanRegistration
,ModelMBean
,ModelMBeanNotificationBroadcaster
,NotificationBroadcaster
,NotificationEmitter
,PersistentMBean
管理対象になる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
-
コンストラクタのサマリー
コンストラクタ説明空のModelMBeanInfoでRequiredModelMBean
を構築します。渡されたModelMBeanInfoを使ってRequiredModelMBeanオブジェクトを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明void
addAttributeChangeNotificationListener
(NotificationListener inlistener, String inAttributeName, Object inhandback) NotificationListenerインタフェースを実装するオブジェクトをリスナーとして登録します。void
addNotificationListener
(NotificationListener listener, NotificationFilter filter, Object handback) NotificationListenerインタフェースを実装するオブジェクトをリスナーとして登録します。getAttribute
(String attrName) このModelMBeanに定義された特定の属性の値を返します。getAttributes
(String[] attrNames) ModelMBean内の複数の属性の値を返します。protected ClassLoaderRepository
クラスのロードに使用されたクラス・ローダー・リポジトリを返します。このRequiredModelMBeanが管理用に公開する属性、オペレーション、コンストラクタ、および通知を返します。常にRequiredModelMBeanによって生成されるNotificationの配列を返します。RequiredModelMBean上または経由でメソッドを呼び出し、その実行結果を返します。void
load()
このMBeanインスタンスを、永続ストアで見つかるMBean用のデータでインスタンス化します。void
MBeanサーバーから登録解除したあと、MBeanが必要なオペレーションを実行できるようにします。void
postRegister
(Boolean registrationDone) MBeanサーバーへの登録が成功または失敗したあと、MBeanが必要なオペレーションを実行できるようにします。void
MBeanサーバーから登録解除する前に、MBeanが必要なオペレーションを実行できるようにします。preRegister
(MBeanServer server, ObjectName name) MBeanサーバーに登録する前に、MBeanが必要なオペレーションを実行できるようにします。void
removeAttributeChangeNotificationListener
(NotificationListener inlistener, String inAttributeName) RequiredModelMBeanからattributeChangeNotificationのリスナーを削除します。void
RequiredModelMBeanからNotificationのリスナーを削除します。void
removeNotificationListener
(NotificationListener listener, NotificationFilter filter, Object handback) このMBeanからリスナーを削除します。void
ModelMBean上の登録済みattributeChangeNotificationリスナーに渡されるattributeChangeNotificationを送信します。void
sendAttributeChangeNotification
(Attribute inOldVal, Attribute inNewVal) ModelMBean上の登録済みAttributeChangeNotificationリスナーに、属性の古い値と新しい値を含むattributeChangeNotificationを送信します。void
sendNotification
(String ntfyText) ModelMBean上の登録済みNotificationリスナーに渡されるテキスト文字列を含むNotificationを送信します。void
sendNotification
(Notification ntfyObj) ModelMBean上の登録済みNotificationリスナーに、jmx.modelmbean.generic通知として渡されるNotificationを送信します。void
setAttribute
(Attribute attribute) 指定されたModelMBeanの特定の属性の値を設定します。setAttributes
(AttributeList attributes) このModelMBeanの属性の配列の値を設定します。void
setManagedResource
(Object mr, String mr_type) このModelMBean管理インタフェース(MBeanInfoとDescriptor)内のすべてのメソッドの実行先オブジェクトのインスタンス・ハンドルを設定します。void
渡されたModelMBeanInfoを使ってModelMBeanオブジェクトを初期化します。void
store()
このMBeanインスタンスの現在の状態を取り込み、永続ストアに書き出します。
-
コンストラクタの詳細
-
RequiredModelMBean
public RequiredModelMBean() throws MBeanException, RuntimeOperationsException空のModelMBeanInfoでRequiredModelMBean
を構築します。RequiredModelMBeanのMBeanInfoおよびDescriptorは、
setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)
メソッドでカスタマイズできます。 RequiredModelMBeanのMBeanInfoおよびDescriptorのカスタマイズ後、RequiredModelMBeanをMBeanServerに登録することができます。- 例外:
MBeanException
- 分散通信Exceptionをラップする。RuntimeOperationsException
- オブジェクトの構築時にRuntimeException
をラップする。
-
RequiredModelMBean
public RequiredModelMBean(ModelMBeanInfo mbi) throws MBeanException, RuntimeOperationsException 渡されたModelMBeanInfoを使ってRequiredModelMBeanオブジェクトを構築します。 RequiredModelMBeanがまだMBeanServerに登録されていない場合に限り、setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)
メソッドを使ってRequiredModelMBeanのMBeanInfoおよびDescriptorをカスタマイズできます。 RequiredModelMBeanのMBeanInfoおよびDescriptorのカスタマイズ後、RequiredModelMBeanをMBeanServerに登録することができます。- パラメータ:
mbi
- RequiredModelMBeanによって使用されるModelMBeanInfoオブジェクト。 指定されたModelMBeanInfoが、setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)
で指定されたように複製され、変更される- 例外:
MBeanException
- 分散通信Exceptionをラップする。RuntimeOperationsException
- {link java.lang.IllegalArgumentException}をラップする。パラメータに渡されるMBeanInfoがnullの場合。
-
-
メソッドの詳細
-
setModelMBeanInfo
public void setModelMBeanInfo(ModelMBeanInfo mbi) throws MBeanException, RuntimeOperationsException 渡されたModelMBeanInfoを使ってModelMBeanオブジェクトを初期化します。 このメソッドを使用すると、ModelMBean上に、MBeanServerに登録されていないカスタムModelMBeanInfoを設定できます。
ModelMBeanのModelMBeanInfo (Descriptor付き)をカスタマイズし、ModelMBeanに設定したあと、ModelMBeanをMBeanServerに登録することができます。ModelMBeanが現在登録されている場合、このメソッドは
IllegalStateException
をラップするRuntimeOperationsException
をスローします。指定のinModelMBeanInfoに
GENERIC
またはATTRIBUTE_CHANGE
通知のModelMBeanNotificationInfo
が含まれない場合、RequiredModelMBeanにより、デフォルトのModelMBeanNotificationInfo
が提供されます。- 定義:
setModelMBeanInfo
、インタフェースModelMBean
- パラメータ:
mbi
- ModelMBeanによって使用されるModelMBeanInfoオブジェクト。- 例外:
MBeanException
- 分散通信Exceptionをラップする。RuntimeOperationsException
-- パラメータとして渡されたMBeanInfoがnullの場合、
IllegalArgumentException
をラップする。 - ModelMBeanが現在MBeanServerに登録されている場合、
IllegalStateException
をラップする。
- パラメータとして渡されたMBeanInfoがnullの場合、
-
setManagedResource
public void setManagedResource(Object mr, String mr_type) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException このModelMBean管理インタフェース(MBeanInfoとDescriptor)内のすべてのメソッドの実行先オブジェクトのインスタンス・ハンドルを設定します。- 定義:
setManagedResource
、インタフェースModelMBean
- パラメータ:
mr
- 管理対象のリソースになっているオブジェクトmr_type
- 管理対象のリソースの参照の型。
ObjectReference、Handle、IOR、EJBHandle、RMIReferenceのいずれか。
この実装でサポートされるのはObjectReferenceのみ。- 例外:
MBeanException
- オブジェクトのイニシャライザが例外をスローした場合。InstanceNotFoundException
- 管理対象のリソース・オブジェクトが見つからない場合InvalidTargetObjectTypeException
- 管理対象のリソースの型はObjectReferenceでなければならない。RuntimeOperationsException
- リソースの設定時にRuntimeException
をラップする。
-
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。- 関連項目:
-
getAttributes
public AttributeList getAttributes(String[] attrNames) ModelMBean内の複数の属性の値を返します。 渡されるattrNames配列内の属性名ごとにgetAttributeを実行します。- 定義:
getAttributes
、インタフェースDynamicMBean
- パラメータ:
attrNames
- 取得される属性の名前から成るString配列。- 戻り値:
- 取得される属性の配列。
- 例外:
RuntimeOperationsException
-IllegalArgumentException
をラップする場合: すなわち、パラメータ内のオブジェクト名がnullであるか、パラメータ内の属性がnullである場合。- 関連項目:
-
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'
- != "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は、指定された
listener
、filter
、および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"
を持つ標準属性変更通知
- 定義:
getNotificationInfo
、インタフェースNotificationBroadcaster
- 戻り値:
- MBeanNotificationInfo[]
- 1つは記述
-
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 ExceptionMBeanサーバーから登録解除する前に、MBeanが必要なオペレーションを実行できるようにします。RequireModelMBeanが実行時に適切に機能するように、このメソッドをオーバーロードまたはオーバーライドするRequiredModelMBeanのサブクラスは、固有の
preDeregister
実装内のsuper.preDeregister()
を呼び出す必要があります。- 定義:
preDeregister
、インタフェースMBeanRegistration
- 例外:
Exception
- この例外は、MBeanサーバーにキャッチされ、MBeanRegistrationException
として再スローされる。
-
postDeregister
public void postDeregister()MBeanサーバーから登録解除したあと、MBeanが必要なオペレーションを実行できるようにします。RequireModelMBeanが実行時に適切に機能するように、このメソッドをオーバーロードまたはオーバーライドするRequiredModelMBeanのサブクラスは、固有の
postDeregister
実装内のsuper.postDeregister()
を呼び出す必要があります。- 定義:
postDeregister
、インタフェースMBeanRegistration
-