public abstract class Monitor extends NotificationBroadcasterSupport implements MonitorMBean, MBeanRegistration
Defines the part common to all monitor MBeans. A monitor MBean monitors values of an attribute common to a set of observed MBeans. The observed attribute is monitored at intervals specified by the granularity period. A gauge value (derived gauge) is derived from the values of the observed attribute.
protected static final int capacityIncrement
The amount by which the capacity of the monitor arrays are automatically incremented when their size becomes greater than their capacity.
protected int elementCount
The number of valid components in the vector of observed objects.
@Deprecated protected int alreadyNotified
Deprecated. equivalent to alreadyNotifieds[0].
Monitor errors that have already been notified.
protected int[] alreadyNotifieds
Selected monitor errors that have already been notified.
Each element in this array corresponds to an observed object in the vector. It contains a bit mask of the flags OBSERVED_OBJECT_ERROR_NOTIFIED etc, indicating whether the corresponding notification has already been sent for the MBean being monitored.
protected MBeanServer server
Reference to the MBean server. This reference is null when the monitor MBean is not registered in an MBean server. This reference is initialized before the monitor MBean is registered in the MBean server.
protected static final int RESET_FLAGS_ALREADY_NOTIFIED
This flag is used to reset the alreadyNotifieds monitor attribute.
protected static final int OBSERVED_OBJECT_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed object. This flag is used to check that the new observed object is registered in the MBean server at the time of the first notification.
protected static final int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed attribute. This flag is used to check that the new observed attribute belongs to the observed object at the time of the first notification.
protected static final int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed object or the observed attribute. This flag is used to check that the observed attribute type is correct (depending on the monitor in use) at the time of the first notification.
protected static final int RUNTIME_ERROR_NOTIFIED
Flag denoting that a notification has occurred after changing the observed object or the observed attribute. This flag is used to notify any exception (except the cases described above) when trying to get the value of the observed attribute at the time of the first notification.
@Deprecated protected String dbgTag
Deprecated. No replacement.
This field is retained for compatibility but should not be referenced.
public Monitor()
public ObjectName preRegister(MBeanServer server,
ObjectName name)
throws Exception Allows the monitor MBean to perform any operations it needs before being registered in the MBean server.
Initializes the reference to the MBean server.
preRegister in interface MBeanRegistration
server - The MBean server in which the monitor MBean will be registered.name - The object name of the monitor MBean.Exceptionpublic void postRegister(Boolean registrationDone)
Allows the monitor MBean to perform any operations needed after having been registered in the MBean server or after the registration has failed.
Not used in this context.
postRegister in interface MBeanRegistration
registrationDone - Indicates whether or not the MBean has been successfully registered in the MBean server. The value false means that the registration phase has failed.public void preDeregister()
throws Exception Allows the monitor MBean to perform any operations it needs before being unregistered by the MBean server.
Stops the monitor.
preDeregister in interface MBeanRegistration
Exceptionpublic void postDeregister()
Allows the monitor MBean to perform any operations needed after having been unregistered by the MBean server.
Not used in this context.
postDeregister in interface MBeanRegistration
public abstract void start()
Starts the monitor.
start in interface MonitorMBean
public abstract void stop()
Stops the monitor.
stop in interface MonitorMBean
@Deprecated public ObjectName getObservedObject()
Deprecated. As of JMX 1.2, replaced by getObservedObjects()
Returns the object name of the first object in the set of observed MBeans, or null if there is no such object.
getObservedObject in interface MonitorMBean
setObservedObject(ObjectName)@Deprecated
public void setObservedObject(ObjectName object)
throws IllegalArgumentException Deprecated. As of JMX 1.2, replaced by addObservedObject(javax.management.ObjectName)
Removes all objects from the set of observed objects, and then adds the specified object.
setObservedObject in interface MonitorMBean
object - The object to observe.IllegalArgumentException - The specified object is null.getObservedObject()public void addObservedObject(ObjectName object)
throws IllegalArgumentException Adds the specified object in the set of observed MBeans, if this object is not already present.
addObservedObject in interface MonitorMBean
object - The object to observe.IllegalArgumentException - The specified object is null.public void removeObservedObject(ObjectName object)
Removes the specified object from the set of observed MBeans.
removeObservedObject in interface MonitorMBean
object - The object to remove.public boolean containsObservedObject(ObjectName object)
Tests whether the specified object is in the set of observed MBeans.
containsObservedObject in interface MonitorMBean
object - The object to check.true if the specified object is present, false otherwise.public ObjectName[] getObservedObjects()
Returns an array containing the objects being observed.
getObservedObjects in interface MonitorMBean
public String getObservedAttribute()
Gets the attribute being observed.
The observed attribute is not initialized by default (set to null).
getObservedAttribute in interface MonitorMBean
setObservedAttribute(java.lang.String)public void setObservedAttribute(String attribute)
throws IllegalArgumentException Sets the attribute to observe.
The observed attribute is not initialized by default (set to null).
setObservedAttribute in interface MonitorMBean
attribute - The attribute to observe.IllegalArgumentException - The specified attribute is null.getObservedAttribute()public long getGranularityPeriod()
Gets the granularity period (in milliseconds).
The default value of the granularity period is 10 seconds.
getGranularityPeriod in interface MonitorMBean
setGranularityPeriod(long)public void setGranularityPeriod(long period)
throws IllegalArgumentException Sets the granularity period (in milliseconds).
The default value of the granularity period is 10 seconds.
setGranularityPeriod in interface MonitorMBean
period - The granularity period value.IllegalArgumentException - The granularity period is less than or equal to zero.getGranularityPeriod()public boolean isActive()
Tests whether the monitor MBean is active. A monitor MBean is marked active when the start method is called. It becomes inactive when the stop method is called.
isActive in interface MonitorMBean
true if the monitor MBean is active, false otherwise.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.