|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个软件包 下一个软件包 | 框架 无框架 | |||||||||
请参见:
描述
| 接口摘要 | |
|---|---|
| ModelMBean | ModelMBean 必须实现此接口。 |
| ModelMBeanInfo | 此接口由每个 ModelMBean 的 ModelMBeanInfo 实现。 |
| ModelMBeanNotificationBroadcaster | ModelMBean 必须实现此接口。 |
| 类摘要 | |
|---|---|
| DescriptorSupport | 此类表示 ModelMBean 元素的元数据集。 |
| ModelMBeanAttributeInfo | ModelMBeanAttributeInfo 对象描述了 ModelMBean 的属性。 |
| ModelMBeanConstructorInfo | ModelMBeanConstructorInfo 对象描述了 ModelMBean 的一个构造方法。 |
| ModelMBeanInfoSupport | 此类表示 ModelMBean 的元数据。 |
| ModelMBeanNotificationInfo | ModelMBeanNotificationInfo 对象描述了由 ModelMBean 发出的通知。 |
| ModelMBeanOperationInfo | ModelMBeanOperationInfo 对象描述了 ModelMBean 的管理操作。 |
| RequiredModelMBean | 此类是 ModelMBean 的实现。 |
| 异常摘要 | |
|---|---|
| InvalidTargetObjectTypeException | 当指定了无效的目标对象类型时,抛出此异常。 |
| XMLParseException | 当将某个 XML 格式的字符串解析为 ModelMBean 对象,或从 ModelMBean 对象创建 XML 格式的字符串时,抛出此异常。 |
提供了 ModelMBean 类的定义。Model MBean 是充当管理接口与底层托管资源之间桥梁的 MBean。管理接口和托管资源都指定为 Java 对象。不同管理接口和托管资源可以多次重用相同的 Model MBean 实现,它可以提供诸如持久存储和缓存这样常见的功能。
Model MBean 实现 ModelMBean 接口。它是一个 DynamicMBean 接口,该接口的 getMBeanInfo 方法返回实现 ModelMBeanInfo 的对象。
每个 MBean 都有一个 MBeanInfo,它包含关于 MBean 本身、其属性、操作、构造方法和通知的信息。Model MBean 用 Descriptor 来扩充此 MBeanInfo,这里 Descriptor 通过 (key,value) 对的形式对其他信息进行编码。通常,Descriptor 是 DescriptorSupport 的实例。
RequiredModelMBean 类提供了标准的 Model MBean 实现。
以下显示了一个 Model MBean 的示例,它使我们可以通过 MBean 服务器管理 HashMap 的 get 方法。其他方法不能通过 MBean 服务器进行管理。这里 HashMap 没有特殊的地方。任何公共类的公共方法都可以通过相同方式进行管理。
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"
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个软件包 下一个软件包 | 框架 无框架 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。