| インタフェース | 説明 | 
|---|---|
| ModelMBean | 
 このインタフェースは ModelMBean によって実装される必要があります。 
 | 
| ModelMBeanInfo | 
 ModelMBeanInfo は、ModelMBean ごとにこのインタフェースを実装する必要があります。 
 | 
| ModelMBeanNotificationBroadcaster | 
 このインタフェースは ModelMBean によって実装される必要があります。 
 | 
| クラス | 説明 | 
|---|---|
| DescriptorSupport | 
 このクラスは、ModelMBean 要素のメタデータセットを表します。 
 | 
| ModelMBeanAttributeInfo | 
 ModelMBeanAttributeInfo オブジェクトは、ModelMBean の属性を記述します。 
 | 
| ModelMBeanConstructorInfo | 
 ModelMBeanConstructorInfo オブジェクトは、ModelMBean のコンストラクタを記述します。 
 | 
| ModelMBeanInfoSupport | 
 このクラスは、ModelMBean のメタデータを表します。 
 | 
| ModelMBeanNotificationInfo | 
 ModelMBeanNotificationInfo オブジェクトは、ModelMBean が発行する通知を記述します。 
 | 
| ModelMBeanOperationInfo | 
 ModelMBeanOperationInfo オブジェクトは、ModelMBean の管理オペレーションを記述します。 
 | 
| RequiredModelMBean | 
 このクラスは、ModelMBean の実装です。 
 | 
| 例外 | 説明 | 
|---|---|
| InvalidTargetObjectTypeException | 
 指定されたターゲットオブジェクト型が無効な場合にスローされる例外です。 
 | 
| XMLParseException | 
 この例外は、XML 形式の文字列が ModelMBean オブジェクトに解析される場合、または XML 形式の文字列が ModelMBean オブジェクトから作成される場合にスローされます。 
 | 
ModelMBean クラスの定義を提供します。Model MBean は、管理インタフェースと配下の管理対象リソースのブリッジとして機能する MBean です。管理インタフェースと管理対象リソースは、どちらも Java オブジェクトとして指定されます。複数の異なった管理インタフェースおよび管理対象リソースで、同じ Model MBean 実装を繰り返し利用できます。また、Model MBean 実装は、永続性機能、キャッシング機能などの共通機能を提供できます。
Model MBean は、ModelMBean インタフェースを実装します。Model MBean は DynamicMBean であり、ModelMBeanInfo を実装するオブジェクトを返す getMBeanInfo メソッドを持っています。
すべての MBean は、MBean 自体の情報とその属性、オペレーション、コンストラクタ、および通知を備えた MBeanInfo を持ちます。Model MBean は、この MBeanInfo に、(key,value) のペア形式の追加情報をエンコードする Descriptor を追加します。通常、Descriptor は、DescriptorSupport のインスタンスです。
RequiredModelMBean クラスは、標準 Model MBean 実装を提供します。
次に、MBean サーバーから HashMap の get メソッドを管理できるようにするための Model MBean の例を示します。MBean サーバーからは、これ以外のメソッドは利用できません。この例では、HashMap に関する特別な情報はありません。同様にして、任意の public クラスの public メソッドを管理用に公開できます。
import java.lang.reflect.Method;
import java.util.HashMap;
import javax.management.*;
import javax.management.modelmbean.*;
// ...
MBeanServer mbs = MBeanServerFactory.createMBeanServer();
// The MBean Server
HashMap map = new HashMap();
// The resource that will be managed
// Construct the management interface for the Model MBean
Method getMethod = HashMap.class.getMethod("get", new Class[] {Object.class});
ModelMBeanOperationInfo getInfo =
    new ModelMBeanOperationInfo("Get value for key", getMethod);
ModelMBeanInfo mmbi =
    new ModelMBeanInfoSupport(HashMap.class.getName(),
                              "Map of keys and values",
                              null,  // no attributes
                              null,  // no constructors
                              new ModelMBeanOperationInfo[] {getInfo},
                              null); // no notifications
// Make the Model MBean and link it to the resource
ModelMBean mmb = new RequiredModelMBean(mmbi);
mmb.setManagedResource(map, "ObjectReference");
// Register the Model MBean in the MBean Server
ObjectName mapName = new ObjectName(":type=Map,name=whatever");
mbs.registerMBean(mmb, mapName);
// Resource can evolve independently of the MBean
map.put("key", "value");
// Can access the "get" method through the MBean Server
mbs.invoke(mapName, "get", new Object[] {"key"}, new String[] {Object.class.getName()});
// returns "value"
    
 バグまたは機能を送信 
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.