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

クラスMBeanInfo

java.lang.Object
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