JavaTM 2 Platform
Standard Ed. 5.0

javax.management
クラス StandardMBean

java.lang.Object
  上位を拡張 javax.management.StandardMBean
すべての実装されたインタフェース:
DynamicMBean

public class StandardMBean
extends Object
implements DynamicMBean

Java インタフェースのリフレクションによって管理インタフェースを決定する MBean です。

このクラスは、Standard MBean の使用における管理インタフェースの概念の柔軟性を向上させます。JMX 仕様に説明されている Standard MBean のパターンの単純な使用方法には、MBean の実装クラスと管理インタフェース間に固定した関係があると説明されています (つまり、実装クラスが Thing の場合、管理インタフェースは ThingMBean でなければならない)。このクラスは、実装クラスとインタフェースクラス間の名前の関連性を必要とせず、Java インタフェースによる管理インタフェースの指定に役立ちます。

MBean から DynamicMBean を除外することにより、このクラスは、MBean が実装する任意のインタフェースを管理インタフェースとして選択できます。ただし、JMX パターンに準拠するインタフェースでなければなりません (取得メソッドまたは設定メソッドによって定義された属性など)。

このクラスは、DynamicMBean インタフェースから返される MBeanInfo にカスタムの記述と名前を割り当てることができるフックを提供します。

このクラスを使って、任意の実装クラス名 Impl と、任意のインタフェース Intf で定義された管理インタフェース (現在の Standard MBean 用) を指定して MBean を作成できます。一般に、次のいずれかの作成方法を選択します。

いずれの場合も、クラス Impl はインタフェース Intf を実装する必要があります。

実装クラスとインタフェースクラス間の名前の関連性に基づいた Standard MBean も、引き続き使用可能です。

導入されたバージョン:
1.5

コンストラクタの概要
protected StandardMBean(Class mbeanInterface)
          特定の mbeanInterface クラスを使って、DynamicMBean を this から除外します。
  StandardMBean(Object implementation, Class mbeanInterface)
          特定の mbeanInterface クラスを使って、DynamicMBean をオブジェクト implementation から除外します。
 
メソッドの概要
protected  void cacheMBeanInfo(MBeanInfo info)
          カスタマイズフック: このオブジェクト用に構築された MBeanInfo をキャッシュに入れます。
 Object getAttribute(String attribute)
          Dynamic MBean の特定の属性の値を取得します。
 AttributeList getAttributes(String[] attributes)
          Dynamic MBean の複数の属性の値を取得します。
protected  MBeanInfo getCachedMBeanInfo()
          カスタマイズフック: このオブジェクト用にキャッシュされた MBeanInfo を返します。
protected  String getClassName(MBeanInfo info)
          カスタマイズフック: この MBean から返される MBeanInfo 内で使用される className を取得します。
protected  MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors, Object impl)
          カスタマイズフック: この MBean から返される MBeanInfo で使用される MBeanConstructorInfo[] を取得します。
protected  String getDescription(MBeanAttributeInfo info)
          カスタマイズフック: この MBean が返す MBeanAttributeInfo 内で使用される説明を取得します。
protected  String getDescription(MBeanConstructorInfo info)
          カスタマイズフック: この MBean から返される MBeanConstructorInfo 内で使用される説明を取得します。
protected  String getDescription(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
          カスタマイズフック: この MBean から返される MBeanConstructorInfo の sequence MBeanParameterInfo に使用される説明を取得します。
protected  String getDescription(MBeanFeatureInfo info)
          カスタマイズフック: この MBean が返す MBeanFeatureInfo 内で使用される説明を取得します。
protected  String getDescription(MBeanInfo info)
          カスタマイズフック: この MBean から返される MBeanInfo 内で使用される説明を取得します。
protected  String getDescription(MBeanOperationInfo info)
          カスタマイズフック: この MBean から返される MBeanOperationInfo 内で使用される説明を取得します。
protected  String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
          カスタマイズフック: この MBean から返される MBeanOperationInfo の sequence MBeanParameterInfo に使用される説明を取得します。
protected  int getImpact(MBeanOperationInfo info)
          カスタマイズフック: この MBean から返される MBeanOperationInfo で使用されるオペレーションの impact フラグを取得します。
 Object getImplementation()
          この MBean の実装を取得します。
 Class getImplementationClass()
          この MBean の実装クラスを取得します。
 MBeanInfo getMBeanInfo()
          この MBean の MBeanInfo を取得します。
 Class getMBeanInterface()
          この MBean の管理インタフェースを取得します。
protected  String getParameterName(MBeanConstructorInfo ctor, MBeanParameterInfo param, int sequence)
          カスタマイズフック: この MBean から返される MBeanConstructorInfo の sequence MBeanParameterInfo に使用される名前を取得します。
protected  String getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int sequence)
          カスタマイズフック: この MBean から返される MBeanOperationInfo の sequence MBeanParameterInfo に使用される名前を取得します。
 Object invoke(String actionName, Object[] params, String[] signature)
          Dynamic MBean 上でのアクションの実行を許可します。
 void setAttribute(Attribute attribute)
          Dynamic MBean の特定の属性の値を設定します。
 AttributeList setAttributes(AttributeList attributes)
          Dynamic MBean の複数の属性の値を設定します。
 void setImplementation(Object implementation)
          このオブジェクト内のラップされた実装オブジェクトを置換します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

StandardMBean

public StandardMBean(Object implementation,
                     Class mbeanInterface)
              throws NotCompliantMBeanException

特定の mbeanInterface クラスを使って、DynamicMBean をオブジェクト implementation から除外します。

パラメータ:
implementation - この MBean の実装
mbeanInterface - この MBean の実装によってエクスポートされる管理インタフェース。null の場合、このオブジェクトは標準 JMX 設計パターンを使って、指定された実装に関連付けられた管理インタフェースを特定する
例外:
IllegalArgumentException - 指定された implementation が null である場合
NotCompliantMBeanException - mbeanInterface が管理インタフェースの JMX 設計パターンに従っていない場合、または指定された implementation が特定のインタフェースを実装していない場合

StandardMBean

protected StandardMBean(Class mbeanInterface)
                 throws NotCompliantMBeanException

特定の mbeanInterface クラスを使って、DynamicMBean を this から除外します。

this(this,mbeanInterface) を呼び出します。このコンストラクタはサブクラス用として予約されています。

パラメータ:
mbeanInterface - この MBean によってエクスポートされる管理インタフェース
例外:
NotCompliantMBeanException - mbeanInterface が管理インタフェースの JMX 設計パターンに従っていない場合、または this が特定のインタフェースを実装していない場合
メソッドの詳細

setImplementation

public void setImplementation(Object implementation)
                       throws NotCompliantMBeanException

このオブジェクト内のラップされた実装オブジェクトを置換します。

パラメータ:
implementation - この MBean の新しい実装。implementation オブジェクトは、この StandardMBean の構築時に提供された MBean インタフェースを実装する必要がある
例外:
IllegalArgumentException - 指定された implementation が null である場合
NotCompliantMBeanException - 指定された implementation が構築時に提供された MBean インタフェースを実装していない場合
関連項目:
getImplementation()

getImplementation

public Object getImplementation()
この MBean の実装を取得します。

戻り値:
この MBean の実装
関連項目:
setImplementation(java.lang.Object)

getMBeanInterface

public final Class getMBeanInterface()
この MBean の管理インタフェースを取得します。

戻り値:
この MBean の管理インタフェース

getImplementationClass

public Class getImplementationClass()
この MBean の実装クラスを取得します。

戻り値:
この MBean の実装クラス

getAttribute

public Object getAttribute(String attribute)
                    throws AttributeNotFoundException,
                           MBeanException,
                           ReflectionException
インタフェース DynamicMBean の記述:
Dynamic MBean の特定の属性の値を取得します。

定義:
インタフェース DynamicMBean 内の getAttribute
パラメータ:
attribute - 取得される属性の名前
戻り値:
取得される属性の値
例外:
AttributeNotFoundException - @exception MBeanException MBean の取得メソッドによってスローされる java.lang.Exception をラップする場合
ReflectionException - 取得メソッドの呼び出し時にスローされる java.lang.Exception をラップする場合
MBeanException
関連項目:
DynamicMBean.setAttribute(javax.management.Attribute)

setAttribute

public void setAttribute(Attribute attribute)
                  throws AttributeNotFoundException,
                         InvalidAttributeValueException,
                         MBeanException,
                         ReflectionException
インタフェース DynamicMBean の記述:
Dynamic MBean の特定の属性の値を設定します。

定義:
インタフェース DynamicMBean 内の setAttribute
パラメータ:
attribute - 設定される属性の ID と設定される値
例外:
AttributeNotFoundException - @exception InvalidAttributeValueException
MBeanException - MBean の設定メソッドによってスローされる java.lang.Exception をラップする場合
ReflectionException - MBean の設定メソッドの呼び出し時にスローされる java.lang.Exception をラップする場合
InvalidAttributeValueException
関連項目:
DynamicMBean.getAttribute(java.lang.String)

getAttributes

public AttributeList getAttributes(String[] attributes)
インタフェース DynamicMBean の記述:
Dynamic MBean の複数の属性の値を取得します。

定義:
インタフェース DynamicMBean 内の getAttributes
パラメータ:
attributes - 取得される属性のリスト
戻り値:
取得される属性のリスト
関連項目:
DynamicMBean.setAttributes(javax.management.AttributeList)

setAttributes

public AttributeList setAttributes(AttributeList attributes)
インタフェース DynamicMBean の記述:
Dynamic MBean の複数の属性の値を設定します。

定義:
インタフェース DynamicMBean 内の setAttributes
パラメータ:
attributes - 属性のリスト (設定される属性の ID と設定される値)
戻り値:
設定された属性と新しい値のリスト
関連項目:
DynamicMBean.getAttributes(java.lang.String[])

invoke

public Object invoke(String actionName,
                     Object[] params,
                     String[] signature)
              throws MBeanException,
                     ReflectionException
インタフェース DynamicMBean の記述:
Dynamic MBean 上でのアクションの実行を許可します。

定義:
インタフェース DynamicMBean 内の invoke
パラメータ:
actionName - 呼び出されるアクションの名前
params - アクションの呼び出し時に設定されるパラメータを含む配列
signature - アクションのシグニチャーを含む配列。クラスオブジェクトのロードには、アクションを呼び出す MBean をロードするときと同じクラスローダが使用される
戻り値:
アクションによって返されるオブジェクト。指定された MBean 上でアクションを呼び出した結果を表す
例外:
MBeanException - MBean の呼び出しメソッドによってスローされる java.lang.Exception をラップする場合
ReflectionException - メソッドの呼び出し時にスローされる java.lang.Exception をラップする場合

getMBeanInfo

public MBeanInfo getMBeanInfo()
この MBean の MBeanInfo を取得します。

このメソッドは、DynamicMBean.getMBeanInfo() を実装します。

このメソッドは、最初に、キャッシュされているこの MBean の MBeanInfo を取得するため、getCachedMBeanInfo() を呼び出します。getCachedMBeanInfo() は null 以外の MBeanInfo を返します。
MBeanInfo が null の場合、このメソッドは、この MBean の指定の管理インタフェースを使って、この MBean のデフォルトの MBeanInfo を構築します。

このメソッドは、MBeanInfo の構築時に、サブクラスがカスタムの記述、パラメータ、名前などを提供できるようにするカスタマイズフックを呼び出します。
最終的には、新しい MBeanInfo をキャッシュするため、cacheMBeanInfo() を呼び出します。

定義:
インタフェース DynamicMBean 内の getMBeanInfo
戻り値:
キャッシュされているその MBean の MBeanInfo。null でなく、何もキャッシュされていない場合、新しく構築された MBeanInfo

getClassName

protected String getClassName(MBeanInfo info)
カスタマイズフック: この MBean から返される MBeanInfo 内で使用される className を取得します。
サブクラスは、カスタムクラス名を提供するため、このメソッドを再定義できます。デフォルトの実装は info.getClassName() を返します。

パラメータ:
info - リフレクションによって派生したデフォルトの MBeanInfo
戻り値:
新しい MBeanInfo のクラス名

getDescription

protected String getDescription(MBeanInfo info)
カスタマイズフック: この MBean から返される MBeanInfo 内で使用される説明を取得します。
サブクラスは、カスタムの MBean の説明を提供するため、このメソッドを再定義できます。デフォルトの実装は info.getDescription() を返します。

パラメータ:
info - リフレクションによって派生したデフォルトの MBeanInfo
戻り値:
新しい MBeanInfo の説明

getDescription

protected String getDescription(MBeanFeatureInfo info)

カスタマイズフック: この MBean が返す MBeanFeatureInfo 内で使用される説明を取得します。

サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。デフォルトの実装は info.getDescription() を返します。

このメソッドは、getDescription(MBeanAttributeInfo)getDescription(MBeanOperationInfo)getDescription(MBeanConstructorInfo) に呼び出されます。

パラメータ:
info - リフレクションによって派生したデフォルトの MBeanFeatureInfo
戻り値:
指定の MBeanFeatureInfo の説明

getDescription

protected String getDescription(MBeanAttributeInfo info)
カスタマイズフック: この MBean が返す MBeanAttributeInfo 内で使用される説明を取得します。

サブクラスは、カスタムの説明を提供するため、このメソッドを再定義できます。デフォルトの実装は getDescription((MBeanFeatureInfo) info) を返します。

パラメータ:
info - リフレクションによって派生したデフォルトの MBeanAttributeInfo
戻り値:
指定の MBeanAttributeInfo の説明

getDescription

protected String getDescription(MBeanConstructorInfo info)
カスタマイズフック: この MBean から返される MBeanConstructorInfo 内で使用される説明を取得します。
サブクラスは、カスタムの MBean の説明を提供するため、このメソッドを再定義できます。デフォルトの実装は getDescription((MBeanFeatureInfo) info) を返します。

パラメータ:
info - リフレクションによって派生したデフォルトの MBeanConstructorInfo
戻り値:
指定の MBeanConstructorInfo の説明

getDescription

protected String getDescription(MBeanConstructorInfo ctor,
                                MBeanParameterInfo param,
                                int sequence)
カスタマイズフック: この MBean から返される MBeanConstructorInfo の sequence MBeanParameterInfo に使用される説明を取得します。
サブクラスは、カスタムの MBean の説明を提供するため、このメソッドを再定義できます。デフォルトの実装は param.getDescription() を返します。

パラメータ:
ctor - リフレクションによって派生したデフォルトの MBeanConstructorInfo
param - リフレクションによって派生したデフォルトの MBeanParameterInfo
sequence - パラメータのシーケンス番号。0 は最初のパラメータ、1 は 2 番目のパラメータ (以下同様)
戻り値:
指定の MBeanParameterInfo の説明

getParameterName

protected String getParameterName(MBeanConstructorInfo ctor,
                                  MBeanParameterInfo param,
                                  int sequence)
カスタマイズフック: この MBean から返される MBeanConstructorInfo の sequence MBeanParameterInfo に使用される名前を取得します。
サブクラスは、カスタムのパラメータ名を提供するため、このメソッドを再定義できます。デフォルトの実装は param.getName() を返します。

パラメータ:
ctor - リフレクションによって派生したデフォルトの MBeanConstructorInfo
param - リフレクションによって派生したデフォルトの MBeanParameterInfo
sequence - パラメータのシーケンス番号。0 は最初のパラメータ、1 は 2 番目のパラメータ (以下同様)
戻り値:
指定の MBeanParameterInfo の名前

getDescription

protected String getDescription(MBeanOperationInfo info)
カスタマイズフック: この MBean から返される MBeanOperationInfo 内で使用される説明を取得します。
サブクラスは、カスタムの MBean の説明を提供するため、このメソッドを再定義できます。デフォルトの実装は getDescription((MBeanFeatureInfo) info) を返します。

パラメータ:
info - リフレクションによって派生したデフォルトの MBeanOperationInfo
戻り値:
指定の MBeanOperationInfo の説明

getImpact

protected int getImpact(MBeanOperationInfo info)
カスタマイズフック: この MBean から返される MBeanOperationInfo で使用されるオペレーションの impact フラグを取得します。
サブクラスは、カスタムの impact フラグを提供するため、このメソッドを再定義できます。デフォルトの実装は info.getImpact() を返します。

パラメータ:
info - リフレクションによって派生したデフォルトの MBeanOperationInfo
戻り値:
指定の MBeanOperationInfo の impact フラグ

getParameterName

protected String getParameterName(MBeanOperationInfo op,
                                  MBeanParameterInfo param,
                                  int sequence)
カスタマイズフック: この MBean から返される MBeanOperationInfo の sequence MBeanParameterInfo に使用される名前を取得します。
サブクラスは、カスタムのパラメータ名を提供するため、このメソッドを再定義できます。デフォルトの実装は param.getName() を返します。

パラメータ:
op - リフレクションによって派生したデフォルトの MBeanOperationInfo
param - リフレクションによって派生したデフォルトの MBeanParameterInfo
sequence - パラメータのシーケンス番号。0 は最初のパラメータ、1 は 2 番目のパラメータ (以下同様)
戻り値:
指定の MBeanParameterInfo の名前

getDescription

protected String getDescription(MBeanOperationInfo op,
                                MBeanParameterInfo param,
                                int sequence)
カスタマイズフック: この MBean から返される MBeanOperationInfo の sequence MBeanParameterInfo に使用される説明を取得します。
サブクラスは、カスタムの MBean の説明を提供するため、このメソッドを再定義できます。デフォルトの実装は param.getDescription() を返します。

パラメータ:
op - リフレクションによって派生したデフォルトの MBeanOperationInfo
param - リフレクションによって派生したデフォルトの MBeanParameterInfo
sequence - パラメータのシーケンス番号。0 は最初のパラメータ、1 は 2 番目のパラメータ (以下同様)
戻り値:
指定の MBeanParameterInfo の説明

getConstructors

protected MBeanConstructorInfo[] getConstructors(MBeanConstructorInfo[] ctors,
                                                 Object impl)
カスタマイズフック: この MBean から返される MBeanInfo で使用される MBeanConstructorInfo[] を取得します。
デフォルトでは、このメソッドは、ラップされた実装が this でない場合、null を返します。ラップされた実装がこのオブジェクト自体でない場合、MBeanServer.createMBean(...) を通して実装コンストラクタを呼び出しても、ラップされた実装を作成し直すことはできません。
ラップされた実装が this の場合、ctors が返されます。
サブクラスは、この動作を必要に応じて変更するため、このメソッドを再定義できます。

パラメータ:
ctors - リフレクションによって派生したデフォルトの MBeanConstructorInfo[]
impl - ラップされた実装。null が渡されると、ラップされた実装は無視され、ctors が返される
戻り値:
新しい MBeanInfo の MBeanConstructorInfo[]

getCachedMBeanInfo

protected MBeanInfo getCachedMBeanInfo()
カスタマイズフック: このオブジェクト用にキャッシュされた MBeanInfo を返します。

サブクラスは、固有のキャッシングポリシーを実装するため、このメソッドを再定義できます。デフォルトの実装は、インスタンスごとに MBeanInfo オブジェクトを 1 つずつ格納します。

戻り値:
キャッシュされた MBeanInfo。MBeanInfo がキャッシュされていない場合は null
関連項目:
cacheMBeanInfo(MBeanInfo)

cacheMBeanInfo

protected void cacheMBeanInfo(MBeanInfo info)
カスタマイズフック: このオブジェクト用に構築された MBeanInfo をキャッシュに入れます。

サブクラスは、固有のキャッシングポリシーを実装するため、このメソッドを再定義できます。デフォルトの実装は、このインスタンスに info を格納します。サブクラスは、その他のポリシーも定義できます。たとえば、getMBeanInfo() の呼び出しのたびに再構築されるように info を保存しないポリシーや、複数の StandardMBean インスタンスが同等の MBeanInfo 値を持つ場合に単一の MBeanInfo オブジェクトを共有するポリシーなどを定義できます。

パラメータ:
info - キャッシュする新しい MBeanInfo。以前にキャッシュされた値はすべて破棄される。新しくキャッシュされた値がない場合、このパラメータは null

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。