モジュール java.management

パッケージ 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の場合、OpenTypeSimpleType.Stringになります。 Java言語型がCompositeDataの場合、OpenTypeは属性のCompositeDataインスタンス内の項目を記述するCompositeTypeになります。

デフォルト値と制約

Open MBeanでは、属性およびパラメータは、関連付けられたデフォルト値や制約を OpenMBeanAttributeInfoまたはOpenMBeanParameterInfo内に保持できます。 これらの制約を指定するには、2つの方法があります。 値は、OpenMBeanAttributeInfoSupportまたはOpenMBeanParameterInfoSupportのコンストラクタの1つ(OpenMBeanParameterInfoSupport( String, String, OpenType, Object, Object[])など)へのパラメータとして直接指定されます。値はコンストラクタの1つのパラメータとして指定されたDescriptorで指定されます。

Descriptorを使用する場合、次のフィールドが関連します。

  • defaultValueは、getDefaultValue()により返される値を定義します。
  • minValueは、getMinValue()により返される値を定義します。
  • maxValueは、getMaxValue()により返される値を定義します。
  • legalValuesは、getLegalValues()により返される値を定義します。

defaultValueminValueおよび maxValueの場合、関連する値はopenTypeに対応するJava型、またはその型に変換可能な文字列である必要があります。 staticメソッドvalueOf(String)が検出される場合は、そのメソッドが変換に使用されます。そのメソッドが検出されない場合、単一のStringパラメータを持つコンストラクタが検出されればそのコンストラクタが使用され、そうでない場合は変換が失敗します。

legalValuesでは、関連する値は配列またはSetである必要があります。また、配列またはセットの要素は、defaultValueなどに対して記述された方法で変換可能でなければいけません。

これらのフィールドでは、次の条件を満たす必要があります。

  • 値は、すでに説明したように、適切な型の値か、適切な型に変換可能な文字列である必要があります。
  • legalValuesが存在する場合は、 minValuemaxValueも存在してはいけません。
  • defaultValueが存在する場合、legalValuesminValuemaxValueのいずれかが存在するなら、そこで定義された制約を満たしている必要があります。
  • minValuemaxValueの両方が存在する場合、minValuemaxValueより大きくてはいけません。
導入されたバージョン:
1.5
関連項目:
JMX仕様、バージョン1.4
  • インタフェースのサマリー 
    インタフェース 説明
    CompositeData
    CompositeDataインタフェースは、複合データ構造を表現する特定の型の複合公開データ・オブジェクトの動作を指定します。
    CompositeDataView
    Javaクラスは、このインタフェースを実装することにより、MXBeanフレームワークを使ってCompositeDataに変換する方法を示すことができます。
    OpenMBeanAttributeInfo
    公開MBeanの属性を記述します。
    OpenMBeanConstructorInfo
    Open MBeanのコンストラクタを記述します。
    OpenMBeanInfo
    Open MBeanを記述します。Open MBeanのgetMBeanInfo()メソッドは、OpenMBeanInfoインタフェースを実装するクラスのインスタンス(通常OpenMBeanInfoSupport)を返すことになっています。
    OpenMBeanOperationInfo
    Open MBeanのオペレーションを記述します。
    OpenMBeanParameterInfo
    公開MBeanの1つ以上のオペレーションまたはコンストラクタで使用されるパラメータを記述します。
    TabularData
    TabularDataインタフェースは、テーブル・データ構造を表現する特定の型の複合公開データ・オブジェクトの動作を指定します。
  • クラスのサマリー 
    クラス 説明
    ArrayType<T>
    ArrayTypeクラスは、公開データ値のn次元配列であるすべての公開データ値を記述するインスタンスを持つ公開型クラスです。
    CompositeDataInvocationHandler
    getterメソッドをCompositeDataに転送するInvocationHandlerです。
    CompositeDataSupport
    CompositeDataSupportクラスは、CompositeDataインタフェースを実装する公開データ・クラスです。
    CompositeType
    CompositeTypeクラスは、CompositeData値の型を記述するインスタンスを持つ公開型クラスです。
    OpenMBeanAttributeInfoSupport
    公開MBeanの属性を記述します。
    OpenMBeanConstructorInfoSupport
    Open MBeanのコンストラクタを記述します。
    OpenMBeanInfoSupport
    OpenMBeanInfoSupportクラスは公開MBeanの管理情報を記述します。これはMBeanInfoのサブクラスであり、OpenMBeanInfoインタフェースを実装します。
    OpenMBeanOperationInfoSupport
    Open MBeanのオペレーションを記述します。
    OpenMBeanParameterInfoSupport
    公開MBeanの1つ以上のオペレーションまたはコンストラクタで使用されるパラメータを記述します。
    OpenType<T>
    OpenTypeクラスは、実際の公開データ値の公開型を記述するすべてのクラスの親abstractクラスです。
    SimpleType<T>
    SimpleTypeクラスは、配列でもCompositeData値でもTabularData値でもないすべての公開データ値を記述するインスタンスを持つ、公開型クラスです。
    TabularDataSupport
    TabularDataSupportクラスは、TabularDataインタフェースとMapインタフェースを実装し、内部でハッシュ・マップ・データ構造に基づいている公開データ・クラスです。
    TabularType
    TabularTypeクラスは、TabularData値の型を記述するインスタンスを持つ公開型クラスです。
  • 例外のサマリー 
    例外 説明
    InvalidKeyException
    この実行時例外は、複合データの項目名または表データの行インデックスになる予定だったメソッド・パラメータが無効な場合にスローされます。
    InvalidOpenTypeException
    この実行時例外は、公開データ値の公開型が予想していた値と異なる場合にスローされます。
    KeyAlreadyExistsException
    この実行時例外は、表データ・インスタンスに追加される行のインデックスが、この表データ・インスタンス内の別の行を参照するためにすでに使用されている場合にスローされます。
    OpenDataException
    このチェック例外は、妥当性の制約の一部が満たされていないため、公開型公開データ、または公開MBeanメタデータ情報インスタンスを構築できなかった場合にスローされます。