FactoryObject that sets up a Quartz Scheduler and exposes it for object references.
For a list of all members of this type, see SchedulerFactoryObject Members .
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
Allows registration of JobDetails, Calendars and Triggers, automatically starting the scheduler on initialization and shutting it down on destruction. In scenarios that just require static registration of jobs at startup, there is no need to access the Scheduler instance itself in application code.
For dynamic registration of jobs at runtime, use a object reference to this SchedulerFactoryObject to get direct access to the Quartz Scheduler (IScheduler). This allows you to create new jobs and triggers, and also to control and monitor the entire Scheduler.
Note that Quartz instantiates a new Job for each execution, in contrast to Timer which uses a TimerTask instance that is shared between repeated executions. Just JobDetail descriptors are shared.
When using persistent jobs, it is strongly recommended to perform all operations on the Scheduler within Spring-managed transactions. Else, database locking will not properly work and might even break.
The preferred way to achieve transactional execution is to demarcate declarative transactions at the business facade level, which will automatically apply to Scheduler operations performed within those scopes. Alternatively, define a TransactionProxyFactoryObject for the Scheduler itself.
Assembly: Spring.Scheduling.Quartz (in Spring.Scheduling.Quartz.dll)