モジュール java.management
パッケージ javax.management

クラスMBeanInfo

  • すべての実装されたインタフェース:
    Serializable, Cloneable, DescriptorRead
    直系の既知のサブクラス:
    ModelMBeanInfoSupport, OpenMBeanInfoSupport

    public class MBeanInfo
    extends Object
    implements Cloneable, Serializable, DescriptorRead

    MBeanによって公開された管理インタフェース(管理オペレーションに使用できる属性と操作のセット)を記述します。 このクラスのインスタンスは不変です。 サブクラスは可変ですが、サブクラスの変更は推奨されていません。

    通常、指定したMBeanのMBeanInfoは、MBeanの有効期間中は変更されません。 Dynamic MBeanはMBeanInfoを変更できます。この場合、 "jmx.mbean.info.changed"を使用したNotificationと、新しいMBeanInfoであるuserDataをDynamic MBeanにより発行することをお薦めします。 これは必須ではありませんが、MBeanのクライアントが変更を検出するために従来の方法を提供します。 MBeanInfo DescriptorimmutableInfoおよびinfoTimeoutフィールドも参照してください。

    Dynamic MBeanによって使用されるMBeanInfoのコンテンツは、getMBeanInfo()メソッドによって決定されます。 Dynamic MBeanであるOpen MBean、Model MBeanが含まれます。

    Standard MBeanによって使用されるMBeanInfoのコンテンツは、MBeanサーバーにより、次のように決定されます。

    • getClassName()。MBeanオブジェクトのJavaクラス名を返します。
    • getConstructors()。そのオブジェクト内のすべてのpublicコンストラクタのリストを返します。
    • getAttributes()。すべての属性のリストを返します。その属性が存在するかどうかは、Standard MBeanの規約に準拠したgetNameisName、またはsetNameメソッドのMBeanインタフェース内に存在するかどうかで推測できます。
    • getOperations()。属性を表さないMBeanインタフェース内のすべてのメソッドのリストを返します。
    • getNotifications()。MBeanがNotificationBroadcasterインタフェースを実装しない場合は空の配列、それ以外の場合はNotificationBroadcaster.getNotificationInfo()の呼出しの結果を返します。
    • getDescriptor()。MBeanインタフェース内の記述子注釈の内容を含む記述子を返します(@DescriptorKeyを参照)。

    getDescription()が返す記述子と含まれている属性およびオペレーションの記述子は指定されません。

    Standard MBeanによって使用されるMBeanInfoのその他の詳細情報は指定されません。 指定されない詳細情報には、含まれるコンストラクタおよび通知の説明、コンストラクタやオペレーションに渡されるパラメータの名前、コンストラクタ・パラメータの説明が含まれます。

    導入されたバージョン:
    1.5
    関連項目:
    直列化された形式
    • コンストラクタの詳細

      • MBeanInfo

        public MBeanInfo​(String className,
                         String description,
                         MBeanAttributeInfo[] attributes,
                         MBeanConstructorInfo[] constructors,
                         MBeanOperationInfo[] operations,
                         MBeanNotificationInfo[] notifications)
                  throws IllegalArgumentException
        MBeanInfoを構築します。
        パラメータ:
        className - このMBeanInfoで記述されるMBeanのJavaクラスの名前。 この値には正しい構文の任意のJavaクラス名を指定できる。 必ずしも、MBeanサーバーまたはMBeanのClassLoaderの既知のJavaクラスでなくてもよい。 MBeanのClassLoaderの既知のJavaクラスである場合、クラスのpublicメソッドに、このMBeanInfo内の属性とオペレーションを実装するStandard MBean内のメソッドを含めることが推奨されるが、これは必須ではない。
        description - 人間が読める形式のMBeanの説明(省略可能)。
        attributes - MBeanの公開属性のリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        constructors - MBeanのpublicコンストラクタのリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        operations - MBeanのオペレーションのリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        notifications - 発行された通知のリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        例外:
        IllegalArgumentException
      • MBeanInfo

        public MBeanInfo​(String className,
                         String description,
                         MBeanAttributeInfo[] attributes,
                         MBeanConstructorInfo[] constructors,
                         MBeanOperationInfo[] operations,
                         MBeanNotificationInfo[] notifications,
                         Descriptor descriptor)
                  throws IllegalArgumentException
        MBeanInfoを構築します。
        パラメータ:
        className - このMBeanInfoで記述されるMBeanのJavaクラスの名前。 この値には正しい構文の任意のJavaクラス名を指定できる。 必ずしも、MBeanサーバーまたはMBeanのClassLoaderの既知のJavaクラスでなくてもよい。 MBeanのClassLoaderの既知のJavaクラスである場合、クラスのpublicメソッドに、このMBeanInfo内の属性とオペレーションを実装するStandard MBean内のメソッドを含めることが推奨されるが、これは必須ではない。
        description - 人間が読める形式のMBeanの説明(省略可能)。
        attributes - MBeanの公開属性のリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        constructors - MBeanのpublicコンストラクタのリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        operations - MBeanのオペレーションのリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        notifications - 発行された通知のリスト。 ゼロ長の配列を指定した場合と同様に、nullになる場合もある。
        descriptor - MBeanの記述子。 nullの場合があり、これは空の記述子と同等。
        例外:
        IllegalArgumentException
        導入されたバージョン:
        1.6
    • メソッドの詳細

      • clone

        public Object clone()

        このインスタンスのシャロー・コピーを返します。 このコピーは、super.clone()の呼び出し(Object.clone()によって実装されるデフォルトのネイティブ・シャロー・コピー・メカニズムの呼び出し)によって取得されます。 内部フィールドについて、これ以上詳細なコピーは作成されません。

        このクラスは不変なので、コピー・メソッドは主にサブクラスにとって重要になります。

        オーバーライド:
        clone、クラスObject
        戻り値:
        このインスタンスの複製。
        関連項目:
        Cloneable
      • getClassName

        public String getClassName()
        このMBeanInfoによって記述されたMBeanのJavaクラスの名前を返します。
        戻り値:
        クラス名。
      • getDescription

        public String getDescription()
        人間が読める形式のMBeanの説明を返します。
        戻り値:
        説明。
      • getAttributes

        public MBeanAttributeInfo[] getAttributes()
        管理用の公開属性のリストを返します。 各属性はMBeanAttributeInfoオブジェクトによって記述されます。 返される配列は、内部配列のシャロー・コピー、つまりMBeanAttributeInfoオブジェクトを参照する内部配列のコピーになります。ただし、参照される各MBeanAttributeInfoオブジェクトはコピーされません。
        戻り値:
        MBeanAttributeInfoオブジェクトの配列。
      • getOperations

        public MBeanOperationInfo[] getOperations()
        MBeanのオペレーションのリストを返します。 各オペレーションはMBeanOperationInfoオブジェクトによって記述されます。 返される配列は、内部配列のシャロー・コピー、つまりMBeanOperationInfoオブジェクトを参照する内部配列のコピーになります。ただし、参照される各MBeanOperationInfoオブジェクトはコピーされません。
        戻り値:
        MBeanOperationInfoオブジェクトの配列。
      • getConstructors

        public MBeanConstructorInfo[] getConstructors()

        MBeanのpublicコンストラクタのリストを返します。 各コンストラクタはMBeanConstructorInfoオブジェクトによって記述されます。

        返される配列は、内部配列のシャロー・コピー、つまりMBeanConstructorInfoオブジェクトを参照する内部配列のコピーになります。ただし、参照される各MBeanConstructorInfoオブジェクトはコピーされません。

        返されるリストは完全でなくてもかまいません。 つまり、MBeanは、リストにないpublicコンストラクタを持つこともできます。 この場合、MBeanサーバーは、リストに含まれているかどうかに関係なく、コンストラクタを使って、このMBeanのクラスのインスタンスを新たに構築できます。

        戻り値:
        MBeanConstructorInfoオブジェクトの配列。
      • getNotifications

        public MBeanNotificationInfo[] getNotifications()
        MBeanによって発行された通知のリストを返します。 各通知はMBeanNotificationInfoオブジェクトによって記述されます。 返される配列は、内部配列のシャロー・コピー、つまりMBeanNotificationInfoオブジェクトを参照する内部配列のコピーになります。ただし、参照される各MBeanNotificationInfoオブジェクトはコピーされません。
        戻り値:
        MBeanNotificationInfoオブジェクトの配列。
      • getDescriptor

        public Descriptor getDescriptor()
        このMBeanInfoの記述子を取得します。 戻り値を変更しても、元の記述子は影響を受けません。
        定義:
        getDescriptor、インタフェースDescriptorRead
        戻り値:
        不変またはオリジナルのコピーである記述子。
        導入されたバージョン:
        1.6
      • equals

        public boolean equals​(Object o)

        このMBeanInfoを別のMBeanInfoと比較します。 getClassName()getDescription()、およびgetDescriptor()の戻り値が等しく、getAttributes()getOperations()getConstructors()、およびgetNotifications()の2つのオブジェクトによって返される配列のペアが等しい場合、2つのMBeanInfoオブジェクトは等しくなります。 「等しい」とは、IDではなく、Object.equals(Object)が等しいことを意味します。

        2つのMBeanInfoオブジェクトによって配列内に返される値が同じでも、その順番が異なっている場合、この2つのMBeanInfoオブジェクトは等しくありません。

        オーバーライド:
        equals、クラスObject
        パラメータ:
        o - 比較対象のオブジェクト。
        戻り値:
        oがMBeanInfoであり、上記のルールによりこのオブジェクトと等しい場合にだけtrue。
        関連項目:
        Object.hashCode()HashMap