Class SchedulerAccessor
java.lang.Object
org.springframework.scheduling.quartz.SchedulerAccessor
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.context.ResourceLoaderAware
- Direct Known Subclasses:
SchedulerAccessorBean
,SchedulerFactoryBean
public abstract class SchedulerAccessor
extends Object
implements org.springframework.context.ResourceLoaderAware
Common base class for accessing a Quartz Scheduler, i.e. for registering jobs,
triggers and listeners on a
Scheduler
instance.
For concrete usage, check out the SchedulerFactoryBean
and
SchedulerAccessorBean
classes.
Compatible with Quartz 2.1.4 and higher, as of Spring 4.1.
- Since:
- 2.5.6
- Author:
- Juergen Hoeller, Stephane Nicoll
-
Field Summary
Modifier and TypeFieldDescriptionprotected final org.apache.commons.logging.Log
protected org.springframework.core.io.ResourceLoader
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Scheduler
Template method that determines the Scheduler to operate on.protected void
Register jobs and triggers (within a transaction, if possible).protected void
Register all specified listeners with the Scheduler.void
setCalendars
(Map<String, Calendar> calendars) Register a list of Quartz Calendar objects with the Scheduler that this FactoryBean creates, to be referenced by Triggers.void
setGlobalJobListeners
(JobListener... globalJobListeners) Specify global Quartz JobListeners to be registered with the Scheduler.void
setGlobalTriggerListeners
(TriggerListener... globalTriggerListeners) Specify global Quartz TriggerListeners to be registered with the Scheduler.void
setJobDetails
(JobDetail... jobDetails) Register a list of JobDetail objects with the Scheduler that this FactoryBean creates, to be referenced by Triggers.void
setJobSchedulingDataLocation
(String jobSchedulingDataLocation) Set the location of a Quartz job definition XML file that follows the "job_scheduling_data_1_5" XSD or better.void
setJobSchedulingDataLocations
(String... jobSchedulingDataLocations) Set the locations of Quartz job definition XML files that follow the "job_scheduling_data_1_5" XSD or better.void
setOverwriteExistingJobs
(boolean overwriteExistingJobs) Set whether any jobs defined on this SchedulerFactoryBean should overwrite existing job definitions.void
setResourceLoader
(org.springframework.core.io.ResourceLoader resourceLoader) void
setSchedulerListeners
(SchedulerListener... schedulerListeners) Specify Quartz SchedulerListeners to be registered with the Scheduler.void
setTransactionManager
(org.springframework.transaction.PlatformTransactionManager transactionManager) Set the transaction manager to be used for registering jobs and triggers that are defined by this SchedulerFactoryBean.void
setTriggers
(Trigger... triggers) Register a list of Trigger objects with the Scheduler that this FactoryBean creates.
-
Field Details
-
logger
protected final org.apache.commons.logging.Log logger -
resourceLoader
@Nullable protected org.springframework.core.io.ResourceLoader resourceLoader
-
-
Constructor Details
-
SchedulerAccessor
public SchedulerAccessor()
-
-
Method Details
-
setOverwriteExistingJobs
public void setOverwriteExistingJobs(boolean overwriteExistingJobs) Set whether any jobs defined on this SchedulerFactoryBean should overwrite existing job definitions. Default is "false", to not overwrite already registered jobs that have been read in from a persistent job store. -
setJobSchedulingDataLocation
Set the location of a Quartz job definition XML file that follows the "job_scheduling_data_1_5" XSD or better. Can be specified to automatically register jobs that are defined in such a file, possibly in addition to jobs defined directly on this SchedulerFactoryBean.- See Also:
-
setJobSchedulingDataLocations
Set the locations of Quartz job definition XML files that follow the "job_scheduling_data_1_5" XSD or better. Can be specified to automatically register jobs that are defined in such files, possibly in addition to jobs defined directly on this SchedulerFactoryBean.- See Also:
-
setJobDetails
Register a list of JobDetail objects with the Scheduler that this FactoryBean creates, to be referenced by Triggers.This is not necessary when a Trigger determines the JobDetail itself: In this case, the JobDetail will be implicitly registered in combination with the Trigger.
- See Also:
-
setCalendars
Register a list of Quartz Calendar objects with the Scheduler that this FactoryBean creates, to be referenced by Triggers.- Parameters:
calendars
- a Map with calendar names as keys as Calendar objects as values- See Also:
-
setTriggers
Register a list of Trigger objects with the Scheduler that this FactoryBean creates.If the Trigger determines the corresponding JobDetail itself, the job will be automatically registered with the Scheduler. Else, the respective JobDetail needs to be registered via the "jobDetails" property of this FactoryBean.
-
setSchedulerListeners
Specify Quartz SchedulerListeners to be registered with the Scheduler. -
setGlobalJobListeners
Specify global Quartz JobListeners to be registered with the Scheduler. Such JobListeners will apply to all Jobs in the Scheduler. -
setGlobalTriggerListeners
Specify global Quartz TriggerListeners to be registered with the Scheduler. Such TriggerListeners will apply to all Triggers in the Scheduler. -
setTransactionManager
public void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager) Set the transaction manager to be used for registering jobs and triggers that are defined by this SchedulerFactoryBean. Default is none; setting this only makes sense when specifying a DataSource for the Scheduler. -
setResourceLoader
public void setResourceLoader(org.springframework.core.io.ResourceLoader resourceLoader) - Specified by:
setResourceLoader
in interfaceorg.springframework.context.ResourceLoaderAware
-
registerJobsAndTriggers
Register jobs and triggers (within a transaction, if possible).- Throws:
SchedulerException
-
registerListeners
Register all specified listeners with the Scheduler.- Throws:
SchedulerException
-
getScheduler
Template method that determines the Scheduler to operate on. To be implemented by subclasses.
-