javax.management.monitor
Class Monitor

java.lang.Object
  |
  +--javax.management.NotificationBroadcasterSupport
        |
        +--javax.management.monitor.Monitor

Direct Known Subclasses:

CounterMonitor, GaugeMonitor, StringMonitor

public abstract class Monitor

extends NotificationBroadcasterSupport

implements MonitorMBean, MBeanRegistration, java.io.Serializable

Defines the common part to all monitor MBeans. A monitor MBean monitors values of an attribute in an observed MBean. 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.

Version:

1.16

Author:

Max Parlione, Maurizio Simeoni, Massimo Tarquini

See Also:

Serialized Form

Field Summary
protected  int alreadyNotified
    Selected monitor errors that have already been notified.
protected  java.lang.String dbgTag
     
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 alreadyNotified 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 on the MBean server.
 

 

Constructor Summary

Monitor()
    Instantiates a Monitor with the default Granularity Period (10 sec)
 

 

Method Summary

 long getGranularityPeriod()
    Gets the granularity period (in milliseconds).
 java.lang.String getObservedAttribute()
    Gets the attribute being observed.
 ObjectName getObservedObject()
    Gets the object name of the object being observed.
 boolean isActive()
    Tests whether the monitor MBean is active.
 void postDeregister()
    Allows the monitor MBean to perform any operations needed after having been de-registered by the MBean server.
 void postRegister(java.lang.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 preDeregister()
    Allows the monitor MBean to perform any operations it needs before being de-registered by the MBean server.
 ObjectName preRegister(MBeanServer server, ObjectName name)
    Allows the monitor MBean to perform any operations it needs before being registered in the MBean server.
 void setGranularityPeriod(long granularityPeriod)
    Sets the granularity period (in milliseconds).
 void setObservedAttribute(java.lang.String observedAttribute)
    Sets the attribute to observe.
 void setObservedObject(ObjectName observedObject)
    Sets the object to observe identified by its object name.
abstract  void start()
    Starts the monitor
abstract  void stop()
    Stops the monitor.
 
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, 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

Selected monitor errors that have already been notified.

dbgTag

protected java.lang.String dbgTag


RESET_FLAGS_ALREADY_NOTIFIED

protected static final int RESET_FLAGS_ALREADY_NOTIFIED

This flag is used to reset the alreadyNotified monitor attribute.

OBSERVED_ATTRIBUTE_ERROR_NOTIFIED

protected static final int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED

Flag denoting that a notification has occurred after changing the observed attribute.

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.

OBSERVED_OBJECT_ERROR_NOTIFIED

protected static final int OBSERVED_OBJECT_ERROR_NOTIFIED

Flag denoting that a notification has occurred after changing the observed object.

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.

server

protected MBeanServer server

Reference on the MBean server.

 

Constructor Detail

Monitor

public Monitor()

Instantiates a Monitor with the default Granularity Period (10 sec)

 

Method Detail

getGranularityPeriod

public long getGranularityPeriod()

Gets the granularity period (in milliseconds).

Specified by:

getGranularityPeriod in interface MonitorMBean

 

Returns:

The granularity period value.

getObservedAttribute

public java.lang.String getObservedAttribute()

Gets the attribute being observed.

Specified by:

getObservedAttribute in interface MonitorMBean

 

Returns:

The attribute being observed.

getObservedObject

public ObjectName getObservedObject()

Gets the object name of the object being observed.

Specified by:

getObservedObject in interface MonitorMBean

 

Returns:

The object being observed.

isActive

public boolean isActive()

Tests whether the monitor MBean is active.

Specified by:

isActive in interface MonitorMBean

 

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 de-registered by the MBean server.

Specified by:

postDeregister in interface MBeanRegistration

postRegister

public void postRegister(java.lang.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.

Specified by:

postRegister in interface MBeanRegistration

 

Parameters:

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.

preDeregister

public void preDeregister()
                   throws java.lang.Exception

Allows the monitor MBean to perform any operations it needs before being de-registered by the MBean server. It stops the Monitor if it is active.

Specified by:

preDeregister in interface MBeanRegistration

 

Throws:

java.lang.Exception -  

preRegister

public ObjectName preRegister(MBeanServer server,
                              ObjectName name)
                       throws java.lang.Exception

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

Specified by:

preRegister in interface MBeanRegistration

 

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:

java.lang.Exception -  

setGranularityPeriod

public void setGranularityPeriod(long granularityPeriod)
                          throws java.lang.IllegalArgumentException

Sets the granularity period (in milliseconds).

Specified by:

setGranularityPeriod in interface MonitorMBean

 

Parameters:

period - The granularity period value

 

Throws:

java.lang.IllegalArgumentException - The granularity period is less than or equal to zero.

setObservedAttribute

public void setObservedAttribute(java.lang.String observedAttribute)
                          throws java.lang.IllegalArgumentException

Sets the attribute to observe. The internal algorithm is reset if it is active.

Specified by:

setObservedAttribute in interface MonitorMBean

 

Parameters:

attribute - The attribute to observe.

 

Throws:

java.lang.IllegalArgumentException - The specified attribute is null.

setObservedObject

public void setObservedObject(ObjectName observedObject)
                       throws java.lang.IllegalArgumentException

Sets the object to observe identified by its object name. The internal algorithm is reset if it is active.

Specified by:

setObservedObject in interface MonitorMBean

 

Parameters:

object - The object to observe.

 

Throws:

java.lang.IllegalArgumentException - The specified object is null.

start

public abstract void start()

Starts the monitor

Specified by:

start in interface MonitorMBean

stop

public abstract void stop()

Stops the monitor.

Specified by:

stop in interface MonitorMBean