Package com.sun.enterprise.admin.monitor.registry
The J2EE server components register their Stats implementations through the implementation of MonitoringRegistry interface class that provides the ability to register and unregister components to make them available (or unavailable) to JMX clients. The registration implementation would introspect the Stats implementation, create a DynamicMBean out of the introspected parts, and exposes this derived management interface to JMX clients by registering the DynamicMBean with the MBeanServer. Any calls to the MBean's public API is delegated to the Stats implementation and the underlying Statistic's monitored attribute value is returned.
One can obtain an instance of this interface's implementation instance by using the following code as an example:
import com.sun.enterprise.server.ApplicationServer;// (appserver-core
module)
import com.sun.enterprise.server.ServerContext; // (appserv-core module)
import com.sun.enterprise.server.admin.monitor.registry.MonitoringRegistry;//(admin-core module
-compile time dependency)
...
final MonitoringRegistry registry = ApplicationServer.getServerContext().getMonitoringRegistry(); // returns an
implementation.
registry.registerEJBStats( ...);
The magnitude of monitoring and corresponding number of attributes involved
in monitoring is dependent on the level at which monitoring of each component
is set. A change in monitoring level to OFF, LOW or HIGH
from a prior setting results in a change in the extent to which monitoring
is performed for that component. Following each such change in state, the
J2EE server component has to unregister its previous Stats implementation. The MonitoringRegistrationHelper unregisters the DynamicMBean from the MBeanServer as a result. If the change in state results in monitoring level being either HIGH or LOW(i.e. not OFF), the component will now register a Stats implementation that reflects the higher or lower set of attributes that are monitored. The MonitoringRegistrationHelper will now generate a new DynamicMBean that will expose the revised higher or lower level of observed attributes as a result of the change in setting.
Package Specification
The registration interface and its related classes are defined in the com.sun.enterprise.admin.monitor.registry package. The following interfaces and classes are part of this package.- MonitoringRegistry interface - declares methods to register, unregister and to find if a component's Stats implementation is already registered.
- MonitoringRegistrationException class - reports exceptions that may occur during registration or unregistration process.
- MonitoringLevelListener interface - interface provides
setLevel
method. Implementations will be notified of changes in monitoring level through this method. - MonitoringLevel class - describes various recognized monitoring levels
Related Documentation
The implementations and associated helper classes are defined in thecom.sun.enterprise.admin.monitor.stats.spi and
com.sun.enterprise.admin.monitor.stats.util packages
See the associated package file for information on how client will access the stats implementations.
-
Interface Summary Interface Description MonitoringLevelListener Implementation of this interface enables notifications to be received for change in monitoring level from a prior level to a new one.MonitoringRegistry Provides component specific methods to enable components to register their Stats implementations for monitoring.StatsHolder Provides the ability to associate various j2ee components and sub components in a hierarchical tree. -
Class Summary Class Description MonitoredObjectType MonitoredObjectType represents the type of a monitored object.MonitoringLevel Provides enumerated constants related to various levels at which monitoring could be set -
Exception Summary Exception Description MonitoringRegistrationException Exception class to encompass exception events occuring while employing the MonitoringRegistrationHelper to register or unregister Stats components