パッケージjavax.management.openmbean
公開データ型とOpen MBean記述子クラスを提供します。 Open MBeanはMBeanの一種であり、その属性およびオペレーション・パラメータの型と戻り値は、いくつかの事前定義済みのJavaクラスを使って構築されます。 Open MBeanは、アプリケーション固有の型(非Javaプログラムを含む)に必ずしもアクセスできるとはかぎらないリモート管理プログラムを使って、オペレーションを簡便化します。
すべてのMBeanは、MBean自体の情報とその属性、オペレーション、コンストラクタ、および通知を備えたMBeanInfoを持ちます。 Open MBeanでは、このMBeanInfoは、通常OpenMBeanInfoSupportのインスタンスになることにより、OpenMBeanInfoインタフェースを実装します。
Open MBeanのMBeanInfo.getAttributesによって返される属性情報は、OpenMBeanAttributeInfoを実装するオブジェクト(通常OpenMBeanAttributeInfoSupportのインスタンス)の配列になります。 OpenMBeanAttributeInfoは、属性に関する一般情報に加えて、属性のOpenTypeを指定します。 可能なOpenType値は事前に定義されているため、リモート・マネージャはこれらを認識します。
オペレーションおよびコンストラクタのパラメータ型、さらにはオペレーションの戻り型についても、同じことが言えます。
getType()によって返される属性のJava言語型と、getOpenType()によって返されるそのOpenTypeには違いがあります。 たとえば、Java言語型がjava.lang.Stringの場合、OpenTypeはSimpleType.Stringになります。 Java言語型がCompositeDataの場合、OpenTypeは属性のCompositeDataインスタンス内の項目を記述するCompositeTypeになります。
デフォルト値と制約
Open MBeanでは、属性およびパラメータは、関連付けられたデフォルト値や制約を OpenMBeanAttributeInfoまたはOpenMBeanParameterInfo内に保持できます。 これらの制約を指定するには、2つの方法があります。 いずれかの値がOpenMBeanAttributeInfoSupportまたはOpenMBeanParameterInfoSupportのいずれか(たとえば、OpenMBeanParameterInfoSupport(String, String, OpenType, Object, Object[]))のコンストラクタへのパラメータとして直接指定されるか、いずれか1つのコンストラクタに対してパラメータとして指定されたDescriptorで指定されます。
Descriptorを使用する場合、次のフィールドが関連します。
defaultValueは、getDefaultValue()により返される値を定義します。minValueは、getMinValue()により返される値を定義します。maxValueは、getMaxValue()により返される値を定義します。legalValuesは、getLegalValues()により返される値を定義します。
defaultValue、minValueおよび maxValueの場合、関連する値はopenTypeに対応するJava型、またはその型に変換可能な文字列である必要があります。 staticメソッドvalueOf(String)が検出される場合は、そのメソッドが変換に使用されます。そのメソッドが検出されない場合、単一のStringパラメータを持つコンストラクタが検出されればそのコンストラクタが使用され、そうでない場合は変換が失敗します。
legalValuesでは、関連する値は配列またはSetである必要があります。また、配列またはセットの要素は、defaultValueなどに対して記述された方法で変換可能でなければいけません。
これらのフィールドでは、次の条件を満たす必要があります。
- 値は、すでに説明したように、適切な型の値か、適切な型に変換可能な文字列である必要があります。
legalValuesが存在する場合は、minValueもmaxValueも存在してはいけません。defaultValueが存在する場合、legalValues、minValue、maxValueのいずれかが存在するなら、そこで定義された制約を満たしている必要があります。minValueとmaxValueの両方が存在する場合、minValueがmaxValueより大きくてはいけません。
- 導入されたバージョン:
- 1.5
- 関連項目:
-
クラス説明ArrayType<T>
ArrayTypeクラスは、公開データ値のn次元配列であるすべての公開データ値を記述するインスタンスを持つ公開型クラスです。CompositeDataインタフェースは、「複合データ」構造を表す特定のタイプの複合「オープン・データ」オブジェクトの動作を指定します。getterメソッドをCompositeDataに転送するInvocationHandlerです。CompositeDataSupportクラスは、CompositeDataインタフェースを実装する「オープン・データ」クラスです。Javaクラスは、このインタフェースを実装することにより、MXBeanフレームワークを使ってCompositeDataに変換する方法を示すことができます。CompositeTypeクラスは、CompositeData値の型を記述するインスタンスを持つ公開型クラスです。この実行時例外は、複合データの項目名または表データの行インデックスになる予定だったメソッド・パラメータが無効な場合にスローされます。この実行時例外は、公開データ値の公開型が予想していた値と異なる場合にスローされます。この実行時例外は、表データ・インスタンスに追加される行のインデックスが、この表データ・インスタンス内の別の行を参照するためにすでに使用されている場合にスローされます。このチェック例外は、妥当性の制約の一部が満たされていないため、公開型、公開データ、または公開MBeanメタデータ情報インスタンスを構築できなかった場合にスローされます。公開MBeanの属性を記述します。公開MBeanの属性を記述します。Open MBeanのコンストラクタを記述します。Open MBeanのコンストラクタを記述します。Open MBeanを記述します。Open MBeanのgetMBeanInfo()メソッドは、OpenMBeanInfoインタフェースを実装するクラスのインスタンス(通常OpenMBeanInfoSupport)を返すことになっています。OpenMBeanInfoSupportクラスは公開MBeanの管理情報を記述します。これはMBeanInfoのサブクラスであり、OpenMBeanInfoインタフェースを実装します。Open MBeanのオペレーションを記述します。Open MBeanのオペレーションを記述します。公開MBeanの1つ以上のオペレーションまたはコンストラクタで使用されるパラメータを記述します。公開MBeanの1つ以上のオペレーションまたはコンストラクタで使用されるパラメータを記述します。OpenType<T>OpenTypeクラスは、実際の公開データ値の公開型を記述するすべてのクラスの親abstractクラスです。SimpleType<T>SimpleTypeクラスは、配列でもCompositeData値でもTabularData値でもないすべての公開データ値を記述するインスタンスを持つ、公開型クラスです。TabularDataインタフェースは、「表形式データ」構造を表す特定のタイプの複合「オープン・データ」オブジェクトの動作を指定します。TabularDataSupportクラスは、TabularDataおよびMapインタフェースを実装する「オープン・データ」クラスで、ハッシュ・マップ・データ構造に基づいて内部的に使用されます。TabularTypeクラスは、TabularData値の型を記述するインスタンスを持つ公開型クラスです。