!--a11y-->
Interaction between the Monitoring Framework
and the Monitored Resource 
The resources have to fulfill two tasks in order to instrument themselves with monitoring:
...
1. Define the monitors, the objects and the summaries that have to be created for them inside the monitoring tree. This is done declaratively via an XML file, which is packed in the deliverable archive (SDA) of the resource. The monitoring framework takes care of retrieving the XML file after the deployment of the resource, parsing it, and installing the monitors, the objects and the summaries described in it.
2. Provide resource MBeans. The resource MBeans (also called runtime MBeans) are used by the monitors to retrieve the monitoring data at runtime. MBean is a term that comes from the JMX specification (JSR 3) and generally represents the management interface for a certain Java resource. All the communication between the monitors and the resource MBeans at runtime is done over JMX.
The relation between the resource MBeans and the monitors is one to many. This means that one resource MBean can provide monitoring data to one or more monitors, and that one monitor can retrieve its data from one resource MBean only (that is because a monitor typically represents a single attribute of a resource)
The resource MBeans can provide the monitoring data either actively or passively. Providing data actively (that is, data is pushed by the resource) means that the resource MBean is responsible for defining the appropriate time for changing the value of a certain monitor and sending a JMX notification that will update the value at the monitor’s side. Passive provision of data (data is polled by the monitor) means that the monitor takes care of retrieving the data after a certain interval of time has passed. In this case, the monitor registers as a listener in a timer and uses the events from the timer to trigger an update of the monitored value (by invoking a method on the resource MBean).
See also:
