- java.lang.Object
-
- javax.management.NotificationBroadcasterSupport
-
- javax.management.monitor.Monitor
-
- All Implemented Interfaces:
-
MBeanRegistration
,MonitorMBean
,NotificationBroadcaster
,NotificationEmitter
- 已知直接子类:
-
CounterMonitor
,GaugeMonitor
,StringMonitor
public abstract class Monitor extends NotificationBroadcasterSupport implements MonitorMBean, MBeanRegistration
定义所有监视器MBean的通用部分。 监视器MBean监视一组观察到的MBean共有的属性的值。 观察属性以粒度周期指定的间隔进行监视。 仪表值(派生量规)从观察属性的值导出。- 从以下版本开始:
- 1.5
-
-
Field Summary
Fields Modifier and Type Field 描述 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服务器。
-
构造方法摘要
构造方法 Constructor 描述 Monitor()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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服务器取消注册之前执行所需的任何操作。ObjectName
preRegister(MBeanServer server, ObjectName name)
允许监视器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()
停止显示器-
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
-
-
-
-
字段详细信息
-
capacityIncrement
protected static final int capacityIncrement
当显示器阵列的容量大于其容量时,显示器阵列的容量会自动增加。- 另请参见:
- Constant Field Values
-
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时,此引用为空。 在MBean服务器中注册监视器MBean之前,初始化此引用。
-
RESET_FLAGS_ALREADY_NOTIFIED
protected static final int RESET_FLAGS_ALREADY_NOTIFIED
此标志用于重置alreadyNotifieds
监视器属性。- 另请参见:
- Constant Field Values
-
OBSERVED_OBJECT_ERROR_NOTIFIED
protected static final int OBSERVED_OBJECT_ERROR_NOTIFIED
表示在更改观察到的对象之后发生通知。 该标志用于在第一次通知时检查新的观察对象是否已在MBean服务器中注册。- 另请参见:
- Constant Field Values
-
OBSERVED_ATTRIBUTE_ERROR_NOTIFIED
protected static final int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED
表示在更改观察属性后发生通知。 该标志用于在第一次通知时检查新的观察属性是否属于观察对象。- 另请参见:
- Constant Field Values
-
OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED
protected static final int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED
表示在更改观察到的对象或观察到的属性之后发生通知。 该标志用于在第一次通知时检查观察到的属性类型是否正确(取决于正在使用的监视器)。- 另请参见:
- Constant Field Values
-
RUNTIME_ERROR_NOTIFIED
protected static final int RUNTIME_ERROR_NOTIFIED
表示在更改观察到的对象或观察到的属性之后发生通知。 当在第一次通知时尝试获取观察属性的值时,该标志用于通知任何异常(上述情况除外)。- 另请参见:
- Constant Field Values
-
dbgTag
@Deprecated protected String dbgTag
已过时。 没有替换此字段保留兼容性,但不应引用。
-
-
方法详细信息
-
preRegister
public ObjectName preRegister(MBeanServer server, ObjectName name) throws 异常
允许监视器MBean在MBean服务器中注册之前执行所需的任何操作。初始化对MBean服务器的引用。
- Specified by:
-
preRegister
在接口MBeanRegistration
- 参数
-
server
- 将在其中注册监视器MBean的MBean服务器。 -
name
- 监视器MBean的对象名称。 - 结果
- 监视器MBean的名称已注册。
- 异常
-
异常
- 如果出现问题
-
postRegister
public void postRegister(Boolean registrationDone)
允许监视器MBean在MBean服务器中注册或注册失败后执行所需的操作。在此上下文中未使用。
- Specified by:
-
postRegister
在接口MBeanRegistration
- 参数
-
registrationDone
- 指示MBean是否已成功注册到MBean服务器中。 值false表示注册阶段失败。
-
preDeregister
public void preDeregister() throws 异常
允许监视器MBean在MBean服务器取消注册之前执行所需的任何操作。停止显示器
- Specified by:
-
preDeregister
在接口MBeanRegistration
- 异常
-
异常
- 如果出现问题
-
postDeregister
public void postDeregister()
允许监视器MBean在MBean服务器取消注册之后执行所需的任何操作。在此上下文中未使用。
- Specified by:
-
postDeregister
在接口MBeanRegistration
-
start
public abstract void start()
启动显示器。- Specified by:
-
start
在接口MonitorMBean
-
stop
public abstract void stop()
停止显示器- Specified by:
-
stop
在接口MonitorMBean
-
getObservedObject
@Deprecated public ObjectName getObservedObject()
已过时。 截至JMX 1.2,由getObservedObjects()
替代返回观察到的MBean集合中第一个对象的对象名称,如果没有此类对象,则null
。- Specified by:
-
getObservedObject
在接口MonitorMBean
- 结果
- 正在观察的对象。
- 另请参见:
-
setObservedObject(ObjectName)
-
setObservedObject
@Deprecated public void setObservedObject(ObjectName object) throws IllegalArgumentException
已过时。 截至JMX 1.2,由addObservedObject(javax.management.ObjectName)
替代从观察对象集中删除所有对象,然后添加指定的对象。- Specified by:
-
setObservedObject
在接口MonitorMBean
- 参数
-
object
- 要观察的对象。 - 异常
-
IllegalArgumentException
- 指定的对象为空。 - 另请参见:
-
getObservedObject()
-
addObservedObject
public void addObservedObject(ObjectName object) throws IllegalArgumentException
如果该对象不存在,则将指定的对象添加到观察到的MBean集合中。- Specified by:
-
addObservedObject
在接口MonitorMBean
- 参数
-
object
- 要观察的对象。 - 异常
-
IllegalArgumentException
- 指定的对象为空。
-
removeObservedObject
public void removeObservedObject(ObjectName object)
从一组观察到的MBean中删除指定的对象。- Specified by:
-
removeObservedObject
在接口MonitorMBean
- 参数
-
object
- 要删除的对象。
-
containsObservedObject
public boolean containsObservedObject(ObjectName object)
测试指定的对象是否在所观察的MBean集合中。- Specified by:
-
containsObservedObject
在接口MonitorMBean
- 参数
-
object
- 要检查的对象。 - 结果
-
true
,如果指定的对象存在,false
否则。
-
getObservedObjects
public ObjectName[] getObservedObjects()
返回一个包含被观察对象的数组。- Specified by:
-
getObservedObjects
在接口MonitorMBean
- 结果
- 正在观察的物体。
-
getObservedAttribute
public String getObservedAttribute()
获取正在观察的属性。
观察到的属性默认情况下未初始化(设置为null)。- Specified by:
-
getObservedAttribute
在接口MonitorMBean
- 结果
- 正在观察的属性。
- 另请参见:
-
setObservedAttribute(java.lang.String)
-
setObservedAttribute
public void setObservedAttribute(String attribute) throws IllegalArgumentException
设置要观察的属性。
观察到的属性默认情况下未初始化(设置为null)。- Specified by:
-
setObservedAttribute
在接口MonitorMBean
- 参数
-
attribute
- 要观察的属性。 - 异常
-
IllegalArgumentException
- 指定的属性为空。 - 另请参见:
-
getObservedAttribute()
-
getGranularityPeriod
public long getGranularityPeriod()
获取粒度周期(以毫秒为单位)。
粒度周期的默认值为10秒。- Specified by:
-
getGranularityPeriod
在接口MonitorMBean
- 结果
- 粒度周期值。
- 另请参见:
-
setGranularityPeriod(long)
-
setGranularityPeriod
public void setGranularityPeriod(long period) throws IllegalArgumentException
设置粒度周期(以毫秒为单位)。
粒度周期的默认值为10秒。- Specified by:
-
setGranularityPeriod
在接口MonitorMBean
- 参数
-
period
- 粒度周期值。 - 异常
-
IllegalArgumentException
- 粒度周期小于或等于零。 - 另请参见:
-
getGranularityPeriod()
-
isActive
public boolean isActive()
- Specified by:
-
isActive
在接口MonitorMBean
- 结果
-
true
如果监视器MBean是活动的,false
否则。
-
-