public interface MonitoringJob
StatusVariables. The job is a data structure that
holds a non-empty list of StatusVariable names, an identification of
the initiator of the job, and the sampling parameters. There are two kinds of
monitoring jobs: time based and change based. Time based jobs take samples of
all StatusVariables with a specified frequency. The number of samples
to be taken before the job finishes may be specified. Change based jobs are
only interested in the changes of the monitored StatusVariables. In
this case, the number of changes that must take place between two
notifications can be specified.
The job can be started on the MonitorAdmin interface. Running the job
(querying the StatusVariables, listening to changes, and sending out
notifications on updates) is the task of the MonitorAdmin
implementation.
Whether a monitoring job keeps track dynamically of the
StatusVariables it monitors is not specified. This means that if we
monitor a StatusVariable of a Monitorable service which
disappears and later reappears then it is implementation specific whether we
still receive updates of the StatusVariable changes or not.
| Modifier and Type | Method and Description |
|---|---|
String |
getInitiator()
Returns the identifier of the principal who initiated the job.
|
int |
getReportCount()
Returns the number of times
MonitorAdmin will query the
StatusVariables (for time based jobs), or the number of changes
of a StatusVariable between notifications (for change based
jobs). |
int |
getSchedule()
Returns the delay (in seconds) between two samples.
|
String[] |
getStatusVariableNames()
Returns the list of
StatusVariable names that are the targets of
this measurement job. |
boolean |
isLocal()
Returns whether the job was started locally or remotely.
|
boolean |
isRunning()
Returns whether the job is running.
|
void |
stop()
Stops a Monitoring Job.
|
void stop()
String getInitiator()
MonitorAdmin.startJob method is called. This string holds the ServerID
if the operation was initiated from a remote manager, or an arbitrary ID
of the initiator entity in the local case (used for addressing
notification events).nullString[] getStatusVariableNames()
StatusVariable names that are the targets of
this measurement job. For time based jobs, the MonitorAdmin will
iterate through this list and query all StatusVariables when its
timer set by the job's frequency rate expires.nullint getSchedule()
MonitorAdmin queries each
StatusVariable that belongs to this job every N seconds. The
value 0 means that the job is not scheduled but event based: in this case
instant notification on changes is requested (at every n-th change of the
value, as specified by the report count parameter).int getReportCount()
MonitorAdmin will query the
StatusVariables (for time based jobs), or the number of changes
of a StatusVariable between notifications (for change based
jobs). Time based jobs with non-zero report count will take
getReportCount()*getSchedule() time to finish. Time based
jobs with 0 report count and change based jobs do not stop automatically,
but all jobs can be stopped with the stop() method.boolean isLocal()
true if the job was started from the local device,
false if the job was initiated from a management server
through the device management treeboolean isRunning()
true if the job is still running, false if it has
finishedCopyright © OSGi Alliance (2000, 2015). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0