Subclass of Quartz's JobStoreCMT class that delegates to a Spring-managed
DataSource instead of using a Quartz-managed connection pool. This JobStore
will be used if SchedulerFactoryBean's "dataSource" property is set.
Supports both transactional and non-transactional DataSource access.
With a non-XA DataSource and local Spring transactions, a single DataSource
argument is sufficient. In case of an XA DataSource and global JTA transactions,
SchedulerFactoryBean's "nonTransactionalDataSource" property should be set,
passing in a non-XA DataSource that will not participate in global transactions.
Operations performed by this JobStore will properly participate in any
kind of Spring-managed transaction, as it uses Spring's DataSourceUtils
connection handling methods that are aware of a current transaction.
Note that all Quartz Scheduler operations that affect the persistent
job store should usually be performed within active transactions,
as they assume to get proper locks etc.
author: Juergen Hoeller since: 1.1 See Also: SchedulerFactoryBean.setDataSource See Also: SchedulerFactoryBean.setNonTransactionalDataSource See Also: org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection See Also: org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection |