Objects to be registered with
Reports the application information.
This class provides static methods, interfacing with the eBus monitoring subsystem.
Returns the currently registered monitored objects within the eBus virtual machine, specified as an array of
A passive, immutable class for storing a monitored object's type name, instance name and its assigned unique, 4-byte integer identifier.
Reports a monitorable object's on-going status.
Reports a monitored object's transient event.
The unique action levels reported in the PersistentStatus and TransientStatus notifications.
An on-going state is one that persists over time. An example is a disconnected connection. This state continues until either re-established or explicitly closed by the application. A transient event occurs in an instant, with no on-going impact to the application. An example of a transient event would be the application catching exception from which it immediately recovers. This exception is reported as a transient event so administrators are aware of the problem.
Both on-going status and transient events are reported with
This action level
informs administrators about the event severity. The need to
ActionLevel.FATAL_ERROR events is
obvious: there is a problem occurring which must be corrected.
But there is debate about reporting
information-only events. One view is that an application may
be considered to be operating correctly unless stated
otherwise. The opposing view is that,
"if it goes without saying, then it goes even better with
saying it." By reporting "no action" events, it is an
explicit statement of correct operation.
Monitor.applicationInfo(String, String, String, String, net.sf.eBus.messages.EField). This method should be called once at system start although there is nothing to prevent the information from being modified.
Classes that you want to monitor should implement
Monitorable interface. This
interface contains a single method:
implemented version should return a unique name for each class
instance. This allows administrators to determine
which instance is reporting a problem. The monitorable object
must next be
The initial monitorable state is:
Monitorreports object registration via the
MonitorUpdatenotification message which contains the
Once registered, a monitorable object may
its on-going, persistent state and report
If a registered monitorable object is to be discarded prior
to application termination, it should be
because the monitor subsystem maintains a reference to the
monitorable object, preventing its garbage collection. Again,
MonitorUpdate notification is published with the
updateFlag set to
false to inform subscribers
that the object is no longer available for monitoring.
connectionto each of the eBus applications you will be monitoring.
MonitorUpdateusing the subject
MonitoredObjectRequestusing the subject
MonitorUpdate, which reports monitor object registrations and deregistrations as they happen, there is a possibility of overlapping
monitor identifiersas reported in
TransientStatusMessagefor those monitor identifiers in which you are interested using
MonitorId.toString()as the notification subject.
ApplicationInfowith the subject
Monitor.MONITOR_UPDATE_SUBJECT. This will each application's name, version, copyright, description and optional name, value attributes.