This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.management.monitor
class Monitor

java.lang.Object extended by javax.management.NotificationBroadcasterSupport extended by javax.management.monitor.Monitor
All Implemented Interfaces:
MBeanRegistration, NotificationEmitter, MonitorMBean
Direct Known Subclasses:
CounterMonitor, GaugeMonitor, StringMonitor

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.


Field Summary
protected int alreadyNotified
          Monitor errors that have already been notified.
protected int[] alreadyNotifieds
          Selected monitor errors that have already been notified.
protected static int capacityIncrement
          The amount by which the capacity of the monitor arrays are automatically incremented when their size becomes greater than their capacity.
protected String dbgTag
          This field is retained for compatibility but should not be referenced.
protected int elementCount
          The number of valid components in the vector of observed objects.
protected static int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED
          Flag denoting that a notification has occurred after changing the observed attribute.
protected static int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED
          Flag denoting that a notification has occurred after changing the observed object or the observed attribute.
protected static int OBSERVED_OBJECT_ERROR_NOTIFIED
          Flag denoting that a notification has occurred after changing the observed object.
protected static int RESET_FLAGS_ALREADY_NOTIFIED
          This flag is used to reset the javax.management.monitor.Monitor.alreadyNotifieds monitor attribute.
protected static int RUNTIME_ERROR_NOTIFIED
          Flag denoting that a notification has occurred after changing the observed object or the observed attribute.
protected MBeanServer server
          Reference to the MBean server.
 
Constructor Summary

          
 
Method Summary
 void

          Adds the specified object in the set of observed MBeans, if this object is not already present.
 boolean

          Tests whether the specified object is in the set of observed MBeans.
 long

          Gets the granularity period (in milliseconds).
 String

          Gets the attribute being observed.
 ObjectName

          Returns the object name of the first object in the set of observed MBeans, or null if there is no such object.
 ObjectName[]

          Returns an array containing the objects being observed.
 boolean

          Tests whether the monitor MBean is active.
 void

          Allows the monitor MBean to perform any operations needed after having been unregistered by the MBean server.
 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.
 void

          Allows the monitor MBean to perform any operations it needs before being unregistered by the MBean server.
 ObjectName

          Allows the monitor MBean to perform any operations it needs before being registered in the MBean server.
 void

          Removes the specified object from the set of observed MBeans.
 void
setGranularityPeriod(long period)

          Sets the granularity period (in milliseconds).
 void

          Sets the attribute to observe.
 void

          Removes all objects from the set of observed objects, and then adds the specified object.
abstract void

          Starts the monitor.
abstract void

          Stops the monitor.
 
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alreadyNotified

protected int alreadyNotified
Monitor errors that have already been notified.

alreadyNotifieds

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 {@link #OBSERVED_OBJECT_ERROR_NOTIFIED} etc, indicating whether the corresponding notification has already been sent for the MBean being monitored.


capacityIncrement

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.

dbgTag

protected String dbgTag
This field is retained for compatibility but should not be referenced.

elementCount

protected int elementCount
The number of valid components in the vector of observed objects.

OBSERVED_ATTRIBUTE_ERROR_NOTIFIED

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.

OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED

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.

OBSERVED_OBJECT_ERROR_NOTIFIED

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.

RESET_FLAGS_ALREADY_NOTIFIED

protected static final int RESET_FLAGS_ALREADY_NOTIFIED
This flag is used to reset the {@link #alreadyNotifieds alreadyNotifieds} monitor attribute.

RUNTIME_ERROR_NOTIFIED

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.

server

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.
Constructor Detail

Monitor

public Monitor()
Method Detail

addObservedObject

public synchronized void addObservedObject(ObjectName object)
                                    throws IllegalArgumentException
Adds the specified object in the set of observed MBeans, if this object is not already present.

Parameters:
object - The object to observe.
Throws:
IllegalArgumentException - The specified object is null.

containsObservedObject

public synchronized boolean containsObservedObject(ObjectName object)
Tests whether the specified object is in the set of observed MBeans.

Parameters:
object - The object to check.
Returns:
true if the specified object is present, false otherwise.

getGranularityPeriod

public synchronized long getGranularityPeriod()
Gets the granularity period (in milliseconds).
The default value of the granularity period is 10 seconds.

Returns:
The granularity period value.

getObservedAttribute

public synchronized String getObservedAttribute()
Gets the attribute being observed.
The observed attribute is not initialized by default (set to null).

Returns:
The attribute being observed.

getObservedObject

public synchronized ObjectName getObservedObject()
Returns the object name of the first object in the set of observed MBeans, or null if there is no such object.

Returns:
The object being observed.

getObservedObjects

public synchronized ObjectName[] getObservedObjects()
Returns an array containing the objects being observed.

Returns:
The objects being observed.

isActive

public synchronized boolean isActive()
Tests whether the monitor MBean is active. A monitor MBean is marked active when the {@link #start start} method is called. It becomes inactive when the {@link #stop stop} method is called.

Returns:
true if the monitor MBean is active, false otherwise.

postDeregister

public void postDeregister()
Allows the monitor MBean to perform any operations needed after having been unregistered by the MBean server.

Not used in this context.


postRegister

public 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.

Parameters:
registrationDone

preDeregister

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.

Throws:
Exception

preRegister

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.

Parameters:
server - The MBean server in which the monitor MBean will be registered.
name - The object name of the monitor MBean.
Returns:
The name of the monitor MBean registered.
Throws:
Exception

removeObservedObject

public synchronized void removeObservedObject(ObjectName object)
Removes the specified object from the set of observed MBeans.

Parameters:
object - The object to remove.

setGranularityPeriod

public synchronized void setGranularityPeriod(long period)
                                       throws IllegalArgumentException
Sets the granularity period (in milliseconds).
The default value of the granularity period is 10 seconds.

Parameters:
period - The granularity period value.
Throws:
IllegalArgumentException - The granularity period is less than or equal to zero.

setObservedAttribute

public void setObservedAttribute(String attribute)
                          throws IllegalArgumentException
Sets the attribute to observe.
The observed attribute is not initialized by default (set to null).

Parameters:
attribute - The attribute to observe.
Throws:
IllegalArgumentException - The specified attribute is null.

setObservedObject

public synchronized void setObservedObject(ObjectName object)
                                    throws IllegalArgumentException
Removes all objects from the set of observed objects, and then adds the specified object.

Parameters:
object - The object to observe.
Throws:
IllegalArgumentException - The specified object is null.

start

public abstract void start()
Starts the monitor.


stop

public abstract void stop()
Stops the monitor.



This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.