• 1.摘要
  • 2.MBeans
  • 3.MBean 服务器
  • 4.在 MBean 服务器中创建 MBean
  • 5.通知

javax.management

软件包javax.management的描述提供Java Management Extensions的核心类。Java Management Extensions(JMXTM)API是一个用于管理和监视的标准API。典型用途包括:查询并更改应用程序配置累积有关应用程序行为的统计并使其可用通知状态更改及错误状况。JMXAPI还可以作为解决方案的一部分来管理系统、网络等。API包括远程访问,因此,远程管理程序可以基于这些目的与正在运行的应用程序交互。

MBeans

JMX API 的基本概念是 MBean。MBean 是表示资源的指定托管对象。它有一个管理接口,包括以下内容:

可以读取和/或写入的指定名称和类型的属性

可以调用的指定名称和类型的操作

可以由 MBean 发送的指定类型的通知。

例如,一个表示应用程序配置的 MBean 可以有一些表示不同配置项的属性。读取 CacheSize 属性可以返回该项的当前值。写入该属性可以更新该项,从而可能会更改正在运行的应用程序的行为。诸如 save 之类的操作可以持久保存当前配置。每次更改配置时都会发送 ConfigurationChangedNotification 之类的通知。

在 JMX API 的标准用法中,MBeans 可以像 Java 对象那样来实现。不过,如下所述,通常不直接引用这些对象。

Standard MBean

为了使 MBean 实现简单化,JMX API 包括Standard MBean 这一概念。Standard MBean 的属性和操作来源于 Java 接口,使用特定的命名模式,与 JavaBeansTM 使用的属性和操作类似。例如,假定有如下这个接口:

public interface ConfigurationMBean {

public int getCacheSize();

public void setCacheSize(int size);

public long getLastChangedTime();

public void save();

}

方法 getCacheSize 和 setCacheSize 定义了名为 CacheSize 的类型 int 的读写属性(首字母大写,这与 JavaBeans 惯例不同)。

方法 getLastChangedTime 定义了名为 LastChangedTime 的类型 long 的属性。这是一种只读属性,原因是没有方法 setLastChangedTime。

方法 save 定义了名为 save 的操作。它不是属性,原因是它的名称没有以 get、set 或 is 开头。

Standard MBeans 的准确命名模式将在 JMX 规范中详述。