モジュール java.management

クラスModelMBeanInfoSupport

  • すべての実装されたインタフェース:
    Serializable, Cloneable, DescriptorRead, ModelMBeanInfo


    public class ModelMBeanInfoSupport
    extends MBeanInfo
    implements ModelMBeanInfo
    このクラスは、ModelMBeanのメタデータを表します。 メタデータ・オブジェクトに記述子が追加されています。

    管理対象になるJavaリソースは、MBeanServerのcreateMBeanメソッドを使って、ModelMBeanをインスタンス化します。 次に、ModelMBeanインスタンスのModelMBeanInfoとDescriptorを設定します。 ModelMBeanのModelMBeanInfoで公開された属性とオペレーションには、MBean、コネクタ、アダプタからアクセスできます。 Descriptorを使って、管理対象アプリケーション内の値とメソッドを定義し、ModelMBeanの属性およびオペレーションにマップすることができます。 このマッピングは、ファイルを使った開発時、または実行時にプログラムを使って動的に定義できます。

    ModelMBean内でインスタンス化される各ModelMBeanが管理対象になります。これらの属性およびオペレーションには、MBeanServerに接続されたコネクタまたはアダプタ経由でリモート・アクセスできます。 JMX準拠のMBeanでないJavaオブジェクトは、MBeanServerに登録できません。 リソースは、ModelMBeanをインスタンス化することにより、MBeanの有効性を保証します。 すべてのpublicメソッドで、MBeanExceptionおよびRuntimeOperationsExceptionがスローされる必要があります。 これにより、分散型通信(RMI、EJBなど)からの例外のラップが可能になります。

    このクラスのserialVersionUID-1935722590756516193Lです。

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

      • ModelMBeanInfoSupport

        public ModelMBeanInfoSupport​(ModelMBeanInfo mbi)
        指定されたModelMBeanInfoを複製してModelMBeanInfoSupportを構築します。 返されるオブジェクトは、指定したオブジェクトのシャロー・コピーです。 Descriptorも、含まれる配列(ModelMBeanAttributeInfo[]など)も複製されません。 このメソッドの主な用途は、setDescriptorを使って、元のオブジェクトのDescriptorに影響を及ぼすことなく、返されるインスタンスのDescriptorを変更することです。
        パラメータ:
        mbi - ModelMBeanInfoインスタンス(このインスタンスから作成したModelMBeanInfoが初期化される)。
      • ModelMBeanInfoSupport

        public ModelMBeanInfoSupport​(String className,
                                     String description,
                                     ModelMBeanAttributeInfo[] attributes,
                                     ModelMBeanConstructorInfo[] constructors,
                                     ModelMBeanOperationInfo[] operations,
                                     ModelMBeanNotificationInfo[] notifications)
        提供された情報でModelMBeanInfoSupportを作成します。記述子はデフォルトのものが使用されます。 デフォルトの記述子は、name=className, descriptorType="mbean", displayName=className, persistPolicy="never", log="F", visibility="1"
        パラメータ:
        className - MBeanのクラス名
        description - 人間が読める形式のModelMBeanの説明
        attributes - 記述子を持つModelMBeanAttributeInfoオブジェクトの配列
        constructors - 記述子を持つModelMBeanConstructorInfoオブジェクトの配列
        operations - 記述子を持つModelMBeanOperationInfoオブジェクトの配列
        notifications - 記述子を持つModelMBeanNotificationInfoオブジェクトの配列
      • ModelMBeanInfoSupport

        public ModelMBeanInfoSupport​(String className,
                                     String description,
                                     ModelMBeanAttributeInfo[] attributes,
                                     ModelMBeanConstructorInfo[] constructors,
                                     ModelMBeanOperationInfo[] operations,
                                     ModelMBeanNotificationInfo[] notifications,
                                     Descriptor mbeandescriptor)
        提供された情報とパラメータとして指定された記述子を使ってModelMBeanInfoSupportを作成します。
        パラメータ:
        className - MBeanのクラス名
        description - 人間が読める形式のModelMBeanの説明
        attributes - 記述子を持つModelMBeanAttributeInfoオブジェクトの配列
        constructors - 記述子を持つModelMBeanConstructorInfoオブジェクトの配列
        operations - 記述子を持つModelMBeanOperationInfoオブジェクトの配列
        notifications - 記述子を持つModelMBeanNotificationInfoオブジェクトの配列
        mbeandescriptor - MBean全体ポリシーを含むMBeanDescriptorとして使用される記述子。 記述子がnullの場合、デフォルトの記述子が作成される。 デフォルトの記述子は、name=className, descriptorType="mbean", displayName=className, persistPolicy="never", log="F", visibility="1"。 記述子にこれらのフィールドすべてが含まれない場合は、見つからないフィールドがこれらのデフォルト値で追加される。
        例外:
        RuntimeOperationsException - パラメータに渡される記述子が無効な場合、IllegalArgumentExceptionをラップする。(有効なMBean記述子の定義については、getMBeanDescriptorを参照。)
    • メソッドの詳細

      • clone

        public Object clone​()
        このインスタンスのシャロー・コピーを返します。 Descriptorも、含まれる配列(ModelMBeanAttributeInfo[]など)も複製されません。 このメソッドの主な用途は、setDescriptorを使って、元のオブジェクトのDescriptorに影響を及ぼすことなく、複製のDescriptorを変更することです。
        定義:
        clone、インタフェース: ModelMBeanInfo
        オーバーライド:
        clone、クラス: MBeanInfo
        戻り値:
        このインスタンスのシャロー複製
        関連項目:
        Cloneable
      • getDescriptors

        public Descriptor[] getDescriptors​(String inDescriptorType)
                                    throws MBeanException,
                                           RuntimeOperationsException
        インタフェースからコピーされた説明: ModelMBeanInfo
        inDescriptorType型のModelMBeanInfoのすべてのDescriptorで構成されるDescriptor配列を返します。
        定義:
        getDescriptors、インタフェース: ModelMBeanInfo
        パラメータ:
        inDescriptorType - 返される記述子に対して設定する必要があるdescriptorTypeフィールドの値。 mbean、attribute、operation、constructor、notificationのいずれか。 nullまたは空の場合、すべての型が返される。
        戻り値:
        型がinDescriptorTypeの場合、このModelMBeanのすべての記述子を含む記述子配列。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - パラメータとして渡されたdescriptorTypeが次のいずれでもない場合、IllegalArgumentExceptionをラップする。mbean、attribute、operation、constructor、notification、空の場合、またはnullの場合。
        関連項目:
        ModelMBeanInfo.setDescriptors(javax.management.Descriptor[])
      • getDescriptor

        public Descriptor getDescriptor​(String inDescriptorName,
                                        String inDescriptorType)
                                 throws MBeanException,
                                        RuntimeOperationsException
        インタフェースからコピーされた説明: ModelMBeanInfo
        名前とdescriptorTypeで要求されたDescriptorを返します。
        定義:
        getDescriptor、インタフェース: ModelMBeanInfo
        パラメータ:
        inDescriptorName - 記述子の名前。
        inDescriptorType - 要求される記述子の型。 nullまたは空の場合、すべての型が検索される。 有効な型は、mbean、attribute、constructor、operation、およびnotification。 この値は、返される記述子のdescriptorTypeフィールドと等しくなる。
        戻り値:
        同じ名前およびdescriptorTypeのModelMBeanの記述子を含む記述子。 記述子が見つからない場合、nullが返される。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - 記述子名がnullであるか、型がnullまたは不正な場合、IllegalArgumentExceptionをラップする。 型は、mbean、attribute、constructor、operation、notificationのいずれかでなければならない。
        関連項目:
        ModelMBeanInfo.setDescriptor(javax.management.Descriptor, java.lang.String)
      • setDescriptor

        public void setDescriptor​(Descriptor inDescriptor,
                                  String inDescriptorType)
                           throws MBeanException,
                                  RuntimeOperationsException
        インタフェースからコピーされた説明: ModelMBeanInfo
        ModelMBeanのinDescriptorType型の情報配列内に記述子を設定します。 指定された記述子を設定するため、対応するModelMBean*InfoのsetDescriptorメソッドが呼び出されます。
        定義:
        setDescriptor、インタフェース: ModelMBeanInfo
        パラメータ:
        inDescriptor - ModelMBean内に設定される記述子。 null以外でなければならない。 すべての記述子がnameおよびdescriptorTypeフィールドを持っている必要がある。
        inDescriptorType - 設定される記述子の型。 nullの場合、記述子のdescriptorTypeフィールドが使用される。 指定されている場合、この値が記述子のdescriptorTypeフィールドに設定されなければならない。 mbean、attribute、constructor、operation、notificationのいずれか。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - 引数が不正またはnullである場合、または対応するMBeanAttributeInfo、MBeanConstructorInfo、MBeanNotificationInfo、MBeanOperationInfoのいずれかで記述子のnameフィールドが見つからない場合、IllegalArgumentExceptionをラップする。
        関連項目:
        ModelMBeanInfo.getDescriptor(java.lang.String, java.lang.String)
      • getOperation

        public ModelMBeanOperationInfo getOperation​(String inName)
                                             throws MBeanException,
                                                    RuntimeOperationsException
        インタフェースからコピーされた説明: ModelMBeanInfo
        名前で要求されたModelMBeanOperationInfoを返します。
        定義:
        getOperation、インタフェース: ModelMBeanInfo
        パラメータ:
        inName - 取得するModelMBeanOperationInfoの名前。 この名前のModelMBeanOperationInfoが存在しない場合はnullが返される。
        戻り値:
        指定されたオペレーションのオペレーション情報。存在しない場合はnull。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - オペレーション名がnullの場合IllegalArgumentExceptionをラップする。
      • getConstructor

        public ModelMBeanConstructorInfo getConstructor​(String inName)
                                                 throws MBeanException,
                                                        RuntimeOperationsException
        名前で要求されたModelMBeanConstructorInfoを返します。 この名前のModelMBeanConstructorInfoが存在しない場合、nullが返されます。
        パラメータ:
        inName - コンストラクタの名前。
        戻り値:
        指定されたコンストラクタのコンストラクタ情報。存在しない場合はnull。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - コンストラクタ名がnullの場合、IllegalArgumentExceptionをラップする。
      • getDescriptor

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

        public Descriptor getMBeanDescriptor​()
                                      throws MBeanException
        インタフェースからコピーされた説明: ModelMBeanInfo

        MBean全体ポリシーを含むModelMBeanの記述子を返します。 この記述子には、MBeanのメタデータと永続性機能およびキャッシング機能のデフォルト・ポリシーが含まれます。

        記述子内のフィールドは次のように定義済みですが、この内容に限定されません。 この表で型がNumberである場合は、Longの10進数表現であるStringを使用することもできます。

        ModelMBeanフィールド
        名前意味
        nameString MBean名。
        descriptorTypeString 必ずmbean。
        displayNameString ディスプレイで使用されるMBeanの名前。
        persistPolicyString 次のどれか: OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never。 JMX仕様ドキュメントの「MBean Descriptor Fields」を参照。
        persistLocationString 完全修飾ディレクトリ名。MBeanは、必要に応じてこのディレクトリに保持される。
        persistFileString MBeanを保持するファイルの名前。
        persistPeriodNumber OnTimeおよびNoMoreOftenThan PersistPolicyの永続サイクルの頻度(秒単位)
        currencyTimeLimitNumber キャッシュ値の有効期間。<0無効、=0常に有効、>0秒。
        logString t: すべての通知をログに記録、f:通知を記録しない。
        logfileString イベントの記録先ファイルの完全修飾ファイル名。
        visibilityNumber 1 - 4の値のうち1: 常に可視4:ほとんど不可視。
        exportString このMBeanをほかのJMXエージェントにエクスポートまたは公開するとき使用する名前。
        presentationStringString データ表現とMBeanを関連付けるためのXML形式の文字列。

        デフォルトの記述子は、name=className,descriptorType="mbean", displayName=className, persistPolicy="never",log="F",visibility="1"です。記述子にこれらのいずれかのフィールドが不足している場合、不足しているフィールドがデフォルト値で追加されます。

        注: 以前のバージョンの仕様との不整合があるため、currencyTimeLimitにはゼロ以下の値を使用しないようにしてください。 キャッシュに入った値が有効でないことを示す場合は、currencyTimeLimitフィールドを省略します。 この値が常に有効であることを示す場合は、このフィールドに非常に大きい値を指定します。

        定義:
        getMBeanDescriptor、インタフェース: ModelMBeanInfo
        戻り値:
        MBean記述子。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        関連項目:
        ModelMBeanInfo.setMBeanDescriptor(javax.management.Descriptor)
      • setMBeanDescriptor

        public void setMBeanDescriptor​(Descriptor inMBeanDescriptor)
                                throws MBeanException,
                                       RuntimeOperationsException
        インタフェースからコピーされた説明: ModelMBeanInfo
        ModelMBeanの記述子を設定します。 この記述子には、MBeanに関するMBean全体のデフォルトのメタデータと、永続性機能およびキャッシング機能のデフォルト・ポリシーが含まれます。 このオペレーションは、記述子を完全に置換します。マージは行いません。 記述子がnullに設定された場合、デフォルトの記述子が作成されます。 デフォルトの記述子は、name=className,descriptorType="mbean", displayName=className, persistPolicy="never",log="F",visibility="1"です。記述子にこれらのいずれかのフィールドが不足している場合、不足しているフィールドがデフォルト値で追加されます。 有効なフィールド名については、getMBeanDescriptorメソッドのJavadocを参照してください。
        定義:
        setMBeanDescriptor、インタフェース: ModelMBeanInfo
        パラメータ:
        inMBeanDescriptor - 設定する記述子。
        例外:
        MBeanException - 分散通信Exceptionをラップする。
        RuntimeOperationsException - 記述子が無効な場合、IllegalArgumentExceptionをラップする。
        関連項目:
        ModelMBeanInfo.getMBeanDescriptor()