/* * JBoss, the OpenSource EJB server * * Distributable under LGPL license. * See terms of license at gnu.org. */ package javax.management.monitor; import javax.management.ObjectName; /** * The monitor service MBean interface.

* * @author Adrian Brock * @version $Revision: 1.1 $ * */ public interface MonitorMBean { // Constants ----------------------------------------------------- // Static -------------------------------------------------------- // Public -------------------------------------------------------- /** * Retrieves the granularity period in milliseconds.

* * The monitoring takes place once per granularity period. * * @return the granularity period. */ public long getGranularityPeriod(); /** * Retrieves the name of the attribute monitored. * * @return the attribute monitored. */ public String getObservedAttribute(); /** * Retrieves the object name of the MBean monitored. * * @return the object name. */ public ObjectName getObservedObject(); /** * Tests whether this monitoring service is active. * * @return true when the service is active, false otherwise. */ public boolean isActive(); /** * Sets the granularity period in milliseconds.

* * The monitoring takes place once per granularity period.

* * The default value is 10 seconds. * * @param period the granularity period. * @exception IllegalArgumentException when the period is not positive. */ public void setGranularityPeriod(long period) throws IllegalArgumentException; /** * Sets the name of the attribute monitored.

* * The default value is null. * * @param attribute the attribute monitored. * @exception IllegalArgumentException when the period is not positive. */ public void setObservedAttribute(String attribute); /** * Sets the object name of the MBean monitored.

* * The default value is null. * * @param object the object name. */ public void setObservedObject(ObjectName object); /** * Starts the monitor. */ public void start(); /** * Stops the monitor. */ public void stop(); }