javax.management.monitor

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

public class GaugeMonitor
     
extends Monitor
implements GaugeMonitorMBean

定义专门用来观察尺度属性值的监视器 MBean。

尺度监视器观察随着时间发展而不断变化的属性。尺度监视器将根据以下情况发送通知:

  • 如果属性值增加,变得与高阈值相等或大于高阈值,则发送一个阈值过高通知。必须将 notify high 标志设置为 true
    除非属性值变得与低阈值相等或小于低阈值,否则高阈值的后续超出不会引发更多通知。
  • 如果属性值减小,变得与低阈值相等或小于低阈值,则将发送一个阈值过低通知。必须将 notify low 标志设置为 true
    除非属性值变得等于或大于高阈值,否则后续低于阈值的超出不会引发更多通知。
这提供了一种滞后机制,可以避免属性值围绕高、低阈值小幅度摆动时重复触发通知。

如果使用了尺度差分模式,则派生的尺度值将被视为两次连续观察到的观察尺度值之间的差分。
派生的尺度值 (V[t]) 是使用以下方法计算的:

  • V[t] = gauge[t] - gauge[t-GP]
尺度监视器的这一实现需要 observed 属性的类型为整数或浮点型( ByteIntegerShortLongFloatDouble)。

从以下版本开始:
1.5

字段摘要
 
从类 javax.management.monitor.Monitor 继承的字段
alreadyNotified, alreadyNotifieds, capacityIncrement, dbgTag, elementCount, OBSERVED_ATTRIBUTE_ERROR_NOTIFIED, OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED, OBSERVED_OBJECT_ERROR_NOTIFIED, RESET_FLAGS_ALREADY_NOTIFIED, RUNTIME_ERROR_NOTIFIED, server
 
构造方法摘要
GaugeMonitor()
          默认的构造方法。
 
方法摘要
 Number getDerivedGauge()
          已过时。 从 JMX 1.2 开始,由 getDerivedGauge(ObjectName) 取代
 Number getDerivedGauge(ObjectName object)
          如果指定的对象包含在所观察的 MBeans 集中,则获取此对象派生的尺度,否则将为 null
 long getDerivedGaugeTimeStamp()
          已过时。 从 JMX 1.2 开始,由 getDerivedGaugeTimeStamp(ObjectName) 取代
 long getDerivedGaugeTimeStamp(ObjectName object)
          如果指定的对象包含在所观察的 MBeans 集中,则获取此对象的派生尺度的时间戳,否则将为 0
 boolean getDifferenceMode()
          获取所有观察到的 MBean 的公共差分模式标志值。
 Number getHighThreshold()
          获取所有所观察的 MBean 的公共高阈值。
 Number getLowThreshold()
          获取所有观察到的 MBean 的公共低阈值。
 MBeanNotificationInfo[] getNotificationInfo()
          返回一个 NotificationInfo 对象,它包含通知的 Java 类的名称和由尺度监视器发送的通知类型。
 boolean getNotifyHigh()
          获取所有观察到的 MBean 的公共高阈值通知 (high notification) 的开/关切换值。
 boolean getNotifyLow()
          获取所有观察到的 MBean 的公共低阈值通知 (low notification) 的开/关切换值。
 void setDifferenceMode(boolean value)
          设置所有观察到的 MBean 的公共差分模式标志值。
 void setNotifyHigh(boolean value)
          设置所有观察到的 MBean 的公共高阈值通知的开/关切换值。
 void setNotifyLow(boolean value)
          设置所有观察到的 MBean 的公共低阈值通知的开/关切换值。
 void setThresholds(Number highValue, Number lowValue)
          设置所有观察到的 MBean 的公共高、低阈值。
 void start()
          启用尺度监视器。
 void stop()
          停止尺度监视器。
 
从类 javax.management.monitor.Monitor 继承的方法
addObservedObject, containsObservedObject, getGranularityPeriod, getObservedAttribute, getObservedObject, getObservedObjects, isActive, postDeregister, postRegister, preDeregister, preRegister, removeObservedObject, setGranularityPeriod, setObservedAttribute, setObservedObject
 
从类 javax.management.NotificationBroadcasterSupport 继承的方法
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
从接口 javax.management.monitor.MonitorMBean 继承的方法
addObservedObject, containsObservedObject, getGranularityPeriod, getObservedAttribute, getObservedObject, getObservedObjects, isActive, removeObservedObject, setGranularityPeriod, setObservedAttribute, setObservedObject
 

构造方法详细信息

GaugeMonitor

public GaugeMonitor()
默认的构造方法。

方法详细信息

start

public void start()
启用尺度监视器。

指定者:
接口 MonitorMBean 中的 start
指定者:
Monitor 中的 start

stop

public void stop()
停止尺度监视器。

指定者:
接口 MonitorMBean 中的 stop
指定者:
Monitor 中的 stop

getDerivedGauge

public Number getDerivedGauge(ObjectName object)
如果指定的对象包含在所观察的 MBeans 集中,则获取此对象派生的尺度,否则将为 null

指定者:
接口 GaugeMonitorMBean 中的 getDerivedGauge
参数:
object - MBean 的名称。
返回:
指定对象的派生尺度。

getDerivedGaugeTimeStamp

public long getDerivedGaugeTimeStamp(ObjectName object)
如果指定的对象包含在所观察的 MBeans 集中,则获取此对象的派生尺度的时间戳,否则将为 0

指定者:
接口 GaugeMonitorMBean 中的 getDerivedGaugeTimeStamp
参数:
object - 将返回其派生尺度时间戳的对象的名称。
返回:
指定对象的派生尺度时间戳。

getDerivedGauge

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

返回所观察的 MBean 集中第一个对象的派生尺度。

指定者:
接口 GaugeMonitorMBean 中的 getDerivedGauge
返回:
派生的尺度。

getDerivedGaugeTimeStamp

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

获取所观察的 MBeans 集中第一个对象的派生尺度时间戳。

指定者:
接口 GaugeMonitorMBean 中的 getDerivedGaugeTimeStamp
返回:
派生的尺度时间戳。

getHighThreshold

public Number getHighThreshold()
获取所有所观察的 MBean 的公共高阈值。

指定者:
接口 GaugeMonitorMBean 中的 getHighThreshold
返回:
高阈值。
另请参见:
setThresholds(java.lang.Number, java.lang.Number)

getLowThreshold

public Number getLowThreshold()
获取所有观察到的 MBean 的公共低阈值。

指定者:
接口 GaugeMonitorMBean 中的 getLowThreshold
返回:
低阈值。
另请参见:
setThresholds(java.lang.Number, java.lang.Number)

setThresholds

public void setThresholds(Number highValue,
                          Number lowValue)
                   throws IllegalArgumentException
设置所有观察到的 MBean 的公共高、低阈值。

指定者:
接口 GaugeMonitorMBean 中的 setThresholds
参数:
highValue - 高阈值。
lowValue - 低阈值。
抛出:
IllegalArgumentException - 指定的高/低阈值为 null,或者低阈值大于高阈值,或者高、低阈值不属于同一类型。
另请参见:
getHighThreshold(), getLowThreshold()

getNotifyHigh

public boolean getNotifyHigh()
获取所有观察到的 MBean 的公共高阈值通知 (high notification) 的开/关切换值。

指定者:
接口 GaugeMonitorMBean 中的 getNotifyHigh
返回:
如果超出高阈值时尺度监视器发出通知,则返回 true,否则返回 false
另请参见:
setNotifyHigh(boolean)

setNotifyHigh

public void setNotifyHigh(boolean value)
设置所有观察到的 MBean 的公共高阈值通知的开/关切换值。

指定者:
接口 GaugeMonitorMBean 中的 setNotifyHigh
参数:
value - 高阈值通知的开/关切换值。
另请参见:
getNotifyHigh()

getNotifyLow

public boolean getNotifyLow()
获取所有观察到的 MBean 的公共低阈值通知 (low notification) 的开/关切换值。

指定者:
接口 GaugeMonitorMBean 中的 getNotifyLow
返回:
如果超过低阈值时尺度监视器发出通知,则返回 true,否则返回 false
另请参见:
setNotifyLow(boolean)

setNotifyLow

public void setNotifyLow(boolean value)
设置所有观察到的 MBean 的公共低阈值通知的开/关切换值。

指定者:
接口 GaugeMonitorMBean 中的 setNotifyLow
参数:
value - 低阈值通知的开/关切换值。
另请参见:
getNotifyLow()

getDifferenceMode

public boolean getDifferenceMode()
获取所有观察到的 MBean 的公共差分模式标志值。

指定者:
接口 GaugeMonitorMBean 中的 getDifferenceMode
返回:
如果使用了差分模式,则返回 true;否则返回 false
另请参见:
setDifferenceMode(boolean)

setDifferenceMode

public void setDifferenceMode(boolean value)
设置所有观察到的 MBean 的公共差分模式标志值。

指定者:
接口 GaugeMonitorMBean 中的 setDifferenceMode
参数:
value - 差分模式标志值。
另请参见:
getDifferenceMode()

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()
返回一个 NotificationInfo 对象,它包含通知的 Java 类的名称和由尺度监视器发送的通知类型。

指定者:
接口 NotificationBroadcaster 中的 getNotificationInfo
覆盖:
NotificationBroadcasterSupport 中的 getNotificationInfo
返回:
可能的通知数组。