* Copyright (c) OSGi Alliance (2004, 2011). All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
StatusVariables. The job is a data structure that holds a non-empty list of
StatusVariablenames, 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
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
service which disappears and later reappears then it is implementation
specific whether we still receive updates of the
changes or not.
MonitorAdmin.startJobmethod 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).
StatusVariablenames that are the targets of this measurement job. For time based jobs, the
MonitorAdminwill iterate through this list and query all
StatusVariables when its timer set by the job's frequency rate expires.
StatusVariablethat 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).
MonitorAdminwill query the
StatusVariables (for time based jobs), or the number of changes of a
StatusVariablebetween notifications (for change based jobs). Time based jobs with non-zero report count will take
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
trueif the job was started from the local device,
falseif the job was initiated from a management server through the device management tree