javax.management.modelmbean

王朝百科·作者佚名  2010-02-16  
宽屏版  字体: |||超大  

软件包javax.management.modelmbean 的描述

提供了 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"

包规范

JMX API, version 1.2 规范

从以下版本开始:

1.5

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有