JavaTM Platform
Standard Ed. 6

软件包 javax.management.monitor

提供 monitor 类的定义。

请参见:
          描述

接口摘要
CounterMonitorMBean 公开计数器监视器 MBean 的远程管理接口。
GaugeMonitorMBean 公开尺度监视器 MBean 的远程管理接口。
MonitorMBean 公开监视器 MBean 的远程管理接口。
StringMonitorMBean 公开字符串监视器 MBean 的远程管理接口。
 

类摘要
CounterMonitor 定义专门用来观察计数器属性值的监视器 MBean。
GaugeMonitor 定义专门用来观察尺度属性值的监视器 MBean。
Monitor 定义所有监视器 MBean 的公共部分。
MonitorNotification 提供对监视器 MBean 发送的通知的定义。
StringMonitor 定义设计用于观察字符串属性值的监视器 MBean。
 

异常摘要
MonitorSettingException 当监视器设置在运行监视器期间变得无效时由该监视器抛出的异常。
 

软件包 javax.management.monitor 的描述

提供 monitor 类的定义。Monitor 是一个 MBeans,它定期观察一个或多个其他 MBeans 中的属性值。如果某个属性满足特定的条件,则 Monitor 将发出一个 MonitorNotification。当监视器 MBean 定期调用 getAttribute 检索被监视的属性值时,它在 Monitor.start() 调用者的访问控制上下文中执行该操作。

被监视的值可以是一个包含在复合类型中的简单值。例如,java.lang.management 中定义的 MemoryMXBean 具有一个类型为 MemoryUsageHeapMemoryUsage 属性。要监视已用 内存量(由 MemoryUsageused 属性描述),您可以监视 "HeapMemoryUsage.used"。该字符串应该做为 setObservedAttribute 的参数。

用来解释 "HeapMemoryUsage.used" 之类的 ObservedAttribute 的规则如下。假设字符串为 A.e(因此在该例中 A"HeapMemoryUsage"e"used")。

首先获得属性 A 的值。称之为 v。按以下方式从 v 中提取值 x

第三个规则意味着,如果属性 HeapMemoryUsageMemoryUsage,则监视 "HeapMemoryUsage.used" 将获得调用 MemoryUsage.getUsed() 观察到的值。

如果 ObservedAttribute 包含一个以上的句号 ("."),例如 "ConnectionPool.connectionStats.length",则迭代地应用上述规则。其中 v 最初是属性 ConnectionPool 的值,x 是在 e 等于 "connectionStats" 的情况下应用上述规则导出的。然后 v 将被设置为此 x,并将在 e 等于 "length" 的情况下导出一个新的 x

建议使用有效的 Java 标识符作为属性名称,但将属性取名为 HeapMemoryUsage.used 也是可能的。这意味着作为 HeapMemoryUsage.usedObservedAttribute 表示要观察的值可能是该名称的属性,也可能是一个名为 HeapMemoryUsage 的属性内部的属性 used。故出于兼容性原因,当 ObservedAttribute 包含一个句号 (.) 时,监视器将检查是否存在一个名称为完整 ObservedAttribute 字符串(示例中的 HeapMemoryUsage.used)的属性。它实现这一点的方式如下:对被观察的 MBean 调用 getMBeanInfo,并使用给定名称查询被包含的 MBeanAttributeInfo。如果能找到,则它就是被监视的内容。如果正观察多个 MBean,且其中一些有 HeapMemoryUsage.used 属性而另一些却没有时,行为是不确定的。在这种情况下,一个实现可能因此只对其中一个 MBean 调用 getMBeanInfo。如果在监视器激活的情况下检查的结果发生更改,则行为也是不确定的。

JMX 规范》中详细叙述了监视器的具体行为。下面是有关的概述。

共有三种监视器:

从以下版本开始:
1.5
另请参见:
Java SE 6 Platform documentation on JMX technology, 特别是 JMX Specification, version 1.4(pdf)。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策