javax.management.monitor

接口
异常
java.lang.Object
  继承者 javax.management.NotificationBroadcasterSupport
      继承者 javax.management.monitor.Monitor
所有已实现的接口:
MBeanRegistration, MonitorMBean, NotificationBroadcaster, NotificationEmitter
直接已知子类:
CounterMonitor, GaugeMonitor, StringMonitor

public abstract class Monitor
     
extends NotificationBroadcasterSupport
implements MonitorMBean, MBeanRegistration

定义所有监视器 MBean 的公共部分。监视器 MBean 监视所观察的 MBean 集的共同属性值。将根据粒度周期指定的区间监视 observed 属性。尺度值(派生尺度)从 observed 属性的值中派生。

从以下版本开始:
1.5

字段摘要
protected  int alreadyNotified
          已过时。 等效于 alreadyNotifieds[0]。
protected  int[] alreadyNotifieds
          已经通知的选定监视器错误。
protected static int capacityIncrement
          监视器数组的大小大于其容量时,容量自动递增的量。
protected  String dbgTag
          已过时。 无替代版本。
protected  int elementCount
          被观察对象的向量中的有效组件数。
protected static int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED
          表示已在更改被观察属性之后发出了通知的标志。
protected static int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED
          表示已在更改被观察对象或被观察属性之后发出了通知的标志。
protected static int OBSERVED_OBJECT_ERROR_NOTIFIED
          表示在更改被观察对象之后已发出通知的标志。
protected static int RESET_FLAGS_ALREADY_NOTIFIED
          此标志用来重新设置 alreadyNotifieds 监视器属性。
protected static int RUNTIME_ERROR_NOTIFIED
          表示已在更改被观察对象或被观察属性之后发出了通知的标志。
protected  MBeanServer server
          对 MBean 服务器的引用。
 
构造方法摘要
Monitor()
           
 
方法摘要
 void addObservedObject(ObjectName object)
          如果尚未显示此对象,则在观察到的 MBean 集中添加指定的对象。
 boolean containsObservedObject(ObjectName object)
          测试指定的对象是否在所观察的 MBean 集中。
 long getGranularityPeriod()
          获取粒度周期(以毫秒为单位)。
 String getObservedAttribute()
          获取要观察的属性。
 ObjectName getObservedObject()
          已过时。 从 JMX 1.2 开始,由 getObservedObjects() 取代
 ObjectName[] getObservedObjects()
          返回一个包含要观察的对象的数组。
 boolean isActive()
          测试监视器 MBean 是否处于激活状态。
 void postDeregister()
          允许在 MBean 服务器注销监视器 MBean 之前执行所需的任何操作。
 void postRegister(Boolean registrationDone)
          允许在 MBean 服务器中注册监视器 MBean 后或注册失败后执行所需的任何操作。
 void preDeregister()
          允许在 MBean 服务器注销监视器 MBean 之前执行监视器 MBean 所需要的任何操作。
 ObjectName preRegister(MBeanServer server, ObjectName name)
          允许在 MBean 服务器中注册监视器 MBean 之前执行任何监视器 MBean 所需要的操作。
 void removeObservedObject(ObjectName object)
          从所观察的 MBean 集中移除指定的对象。
 void setGranularityPeriod(long period)
          设置粒度周期(以毫秒为单位)。
 void setObservedAttribute(String attribute)
          设置要观察的属性。
 void setObservedObject(ObjectName object)
          已过时。 从 JMX 1.2 开始,由 addObservedObject(javax.management.ObjectName) 取代
abstract  void start()
          启动监视器。
abstract  void stop()
          停止监视器。
 
从类 javax.management.NotificationBroadcasterSupport 继承的方法
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

capacityIncrement

protected static final int capacityIncrement
监视器数组的大小大于其容量时,容量自动递增的量。

另请参见:
常量字段值

elementCount

protected int elementCount
被观察对象的向量中的有效组件数。


alreadyNotified

@Deprecated
protected int alreadyNotified
已过时。  等效于 alreadyNotifieds[0]。
已经通知的监视器错误。


alreadyNotifieds

protected int[] alreadyNotifieds

已经通知的选定监视器错误。

此数组中的每个元素都对应于向量中的某个被观察对象。它包含标志 OBSERVED_OBJECT_ERROR_NOTIFIED 等的位掩码,表示是否已经为要监视的 MBean 发送了相应的通知。


server

protected MBeanServer server
对 MBean 服务器的引用。如果没有在 MBean 服务器中注册监视器 MBean,则此引用将为 null。在 MBean 服务器中注册监视器 MBean 之前,要先初始化此引用。

另请参见:
preRegister(MBeanServer server, ObjectName name)

RESET_FLAGS_ALREADY_NOTIFIED

protected static final int RESET_FLAGS_ALREADY_NOTIFIED
此标志用来重新设置 alreadyNotifieds 监视器属性。

另请参见:
常量字段值

OBSERVED_OBJECT_ERROR_NOTIFIED

protected static final int OBSERVED_OBJECT_ERROR_NOTIFIED
表示在更改被观察对象之后已发出通知的标志。此标志用来检查在初次发出通知时是否已在 MBean 服务器中注册了新的被观察对象。

另请参见:
常量字段值

OBSERVED_ATTRIBUTE_ERROR_NOTIFIED

protected static final int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED
表示已在更改被观察属性之后发出了通知的标志。此标志用来检查在初次发出通知时新的被观察属性是否属于被观察对象。

另请参见:
常量字段值

OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED

protected static final int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED
表示已在更改被观察对象或被观察属性之后发出了通知的标志。此标志用来检查被观察属性的类型在初次发出通知时是否正确(取决正在使用的监视器)。

另请参见:
常量字段值

RUNTIME_ERROR_NOTIFIED

protected static final int RUNTIME_ERROR_NOTIFIED
表示已在更改被观察对象或被观察属性之后发出了通知的标志。此标志用来在初次发出通知后尝试获得被观察属性的值时通知任何异常(上述情况除外)。

另请参见:
常量字段值

dbgTag

@Deprecated
protected String dbgTag
已过时。  无替代版本。
出于兼容的目的,对此字段进行了保留,但不建议引用它。

构造方法详细信息

Monitor

public Monitor()
方法详细信息

preRegister

public ObjectName preRegister(MBeanServer server,
                              ObjectName name)
                       throws Exception
允许在 MBean 服务器中注册监视器 MBean 之前执行任何监视器 MBean 所需要的操作。

初始化对 MBean 服务器的引用。

指定者:
接口 MBeanRegistration 中的 preRegister
参数:
server - 将在其中注册监视器 MBean 的 MBean 服务器。
name - 监视器 MBean 的对象名称。
返回:
注册的监视器 MBean 的名称。
抛出:
Exception

postRegister

public void postRegister(Boolean registrationDone)
允许在 MBean 服务器中注册监视器 MBean 后或注册失败后执行所需的任何操作。

未在此上下文中使用。

指定者:
接口 MBeanRegistration 中的 postRegister
参数:
registrationDone - 指示该 MBean 是否已在 MBean 服务器中成功注册。false 值意味着注册阶段已失败。

preDeregister

public void preDeregister()
                   throws Exception
允许在 MBean 服务器注销监视器 MBean 之前执行监视器 MBean 所需要的任何操作。

停止监视器。

指定者:
接口 MBeanRegistration 中的 preDeregister
抛出:
Exception

postDeregister

public void postDeregister()
允许在 MBean 服务器注销监视器 MBean 之前执行所需的任何操作。

未在此上下文中使用。

指定者:
接口 MBeanRegistration 中的 postDeregister

start

public abstract void start()
启动监视器。

指定者:
接口 MonitorMBean 中的 start

stop

public abstract void stop()
停止监视器。

指定者:
接口 MonitorMBean 中的 stop

getObservedObject

@Deprecated
public ObjectName getObservedObject()
已过时。  从 JMX 1.2 开始,由 getObservedObjects() 取代

返回观察到的 MBean 集中第一个对象的名称,如果没有此对象,则返回 null

指定者:
接口 MonitorMBean 中的 getObservedObject
返回:
要观察的对象。
另请参见:
setObservedObject(ObjectName)

setObservedObject

@Deprecated
public void setObservedObject(ObjectName object)
                       throws IllegalArgumentException
已过时。  从 JMX 1.2 开始,由 addObservedObject(javax.management.ObjectName) 取代

从 observed 对象集中移除所有的对象,然后添加指定的对象。

指定者:
接口 MonitorMBean 中的 setObservedObject
参数:
object - 要观察的对象。
抛出:
IllegalArgumentException - 指定的对象为 null。
另请参见:
getObservedObject()

addObservedObject

public void addObservedObject(ObjectName object)
                       throws IllegalArgumentException
如果尚未显示此对象,则在观察到的 MBean 集中添加指定的对象。

指定者:
接口 MonitorMBean 中的 addObservedObject
参数:
object - 要观察的对象。
抛出:
IllegalArgumentException - 指定的对象为 null。

removeObservedObject

public void removeObservedObject(ObjectName object)
从所观察的 MBean 集中移除指定的对象。

指定者:
接口 MonitorMBean 中的 removeObservedObject
参数:
object - 要移除的对象。

containsObservedObject

public boolean containsObservedObject(ObjectName object)
测试指定的对象是否在所观察的 MBean 集中。

指定者:
接口 MonitorMBean 中的 containsObservedObject
参数:
object - 要检查的对象。
返回:
如果指定的对象存在,则返回 true;否则返回 false

getObservedObjects

public ObjectName[] getObservedObjects()
返回一个包含要观察的对象的数组。

指定者:
接口 MonitorMBean 中的 getObservedObjects
返回:
要观察的对象。

getObservedAttribute

public String getObservedAttribute()
获取要观察的属性。
默认情况下被观察属性未被初始化(设置为 null)。

指定者:
接口 MonitorMBean 中的 getObservedAttribute
返回:
要观察的属性。
另请参见:
setObservedAttribute(java.lang.String)

setObservedAttribute

public void setObservedAttribute(String attribute)
                          throws IllegalArgumentException
设置要观察的属性。
默认情况下被观察属性未被初始化(设置为 null)。

指定者:
接口 MonitorMBean 中的 setObservedAttribute
参数:
attribute - 要观察的属性。
抛出:
IllegalArgumentException - 指定的属性为 null。
另请参见:
getObservedAttribute()

getGranularityPeriod

public long getGranularityPeriod()
获取粒度周期(以毫秒为单位)。
粒度周期的默认值是 10 秒。

指定者:
接口 MonitorMBean 中的 getGranularityPeriod
返回:
粒度周期值。
另请参见:
setGranularityPeriod(long)

setGranularityPeriod

public void setGranularityPeriod(long period)
                          throws IllegalArgumentException
设置粒度周期(以毫秒为单位)。
粒度周期的默认值是 10 秒。

指定者:
接口 MonitorMBean 中的 setGranularityPeriod
参数:
period - 粒度周期值。
抛出:
IllegalArgumentException - 粒度周期小于或等于零。
另请参见:
getGranularityPeriod()

isActive

public boolean isActive()
测试监视器 MBean 是否处于激活状态。当调用 start 方法时,监视器 MBean 被标记为激活。当调用 stop 方法时,该标记变为非激活。

指定者:
接口 MonitorMBean 中的 isActive
返回:
如果监视器 MBean 处于激活状态,则返回 true;否则返回 false