|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opencms.scheduler.CmsScheduleManager
public class CmsScheduleManager
Manages the OpenCms scheduled jobs.
Please see the documentation of the class CmsScheduledJobInfo
for a full description of the OpenCms scheduling capabilities.
The OpenCms scheduler implementation internally uses the Quartz scheduler from the OpenSymphony project.
This manager class implements the org.quartz.Job
interface
and wraps all calls to the I_CmsScheduledJob
implementing
classes.
CmsScheduledJobInfo
Field Summary | |
---|---|
static java.lang.String |
SCHEDULER_JOB_INFO
Key for the scheduled job description in the job data map. |
Constructor Summary | |
---|---|
CmsScheduleManager()
Default constructor for the scheduler manager, used only when a new job is scheduled. |
|
CmsScheduleManager(java.util.List configuredJobs)
Used by the configuration to create a new Scheduler during system startup. |
Method Summary | |
---|---|
void |
execute(org.quartz.JobExecutionContext context)
Implementation of the Quartz job interface. |
CmsScheduledJobInfo |
getJob(java.lang.String id)
Returns the currently scheduled job description identified by the given id. |
java.util.List |
getJobs()
Returns the currently scheduled job descriptions in an unmodifiable list. |
void |
initialize(CmsObject adminCms)
Initializes the OpenCms scheduler. |
void |
scheduleJob(CmsObject cms,
CmsScheduledJobInfo jobInfo)
Adds a new job to the scheduler. |
void |
shutDown()
Shuts down this instance of the OpenCms scheduler manager. |
CmsScheduledJobInfo |
unscheduleJob(CmsObject cms,
java.lang.String jobId)
Removes a currently scheduled job from the scheduler. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String SCHEDULER_JOB_INFO
Constructor Detail |
---|
public CmsScheduleManager()
public CmsScheduleManager(java.util.List configuredJobs)
configuredJobs
- the jobs from the configurationMethod Detail |
---|
public void execute(org.quartz.JobExecutionContext context)
The architecture is that this scheduler manager generates
a new (empty) instance of itself for every OpenCms job scheduled with Quartz.
When the Quartz job is executed, the configured
implementation of I_CmsScheduledJob
will be called from this method.
execute
in interface org.quartz.Job
Job.execute(org.quartz.JobExecutionContext)
public CmsScheduledJobInfo getJob(java.lang.String id)
id
- the job id
null
if not foundpublic java.util.List getJobs()
The objects in the List are of type
.CmsScheduledJobInfo
public void initialize(CmsObject adminCms) throws CmsRoleViolationException
adminCms
- an OpenCms context object that must have been initialized with "Admin" permissions
CmsRoleViolationException
- if the user has insufficient role permissionspublic void scheduleJob(CmsObject cms, CmsScheduledJobInfo jobInfo) throws CmsRoleViolationException, CmsSchedulerException
cms
- an OpenCms context object that must have been initialized with "Admin" permissionsjobInfo
- the job info describing the job to schedule
CmsRoleViolationException
- if the user has insufficient role permissions
CmsSchedulerException
- if the job could not be scheduled for any reasonpublic void shutDown()
public CmsScheduledJobInfo unscheduleJob(CmsObject cms, java.lang.String jobId) throws CmsRoleViolationException
cms
- an OpenCms context object that must have been initialized with "Admin" permissionsjobId
- the id of the job to unschedule, obtained with CmsScheduledJobInfo.getId()
CmsScheduledJobInfo
of the sucessfully unscheduled job,
or null
if the job could not be unscheduled
CmsRoleViolationException
- if the user has insufficient role permissions
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |