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.
+ ///+ /// Note: If this is set, the Quartz settings should not define + /// a job store "dataSource" to avoid meaningless double configuration. + ///
+ ///+ /// A Spring-specific subclass of Quartz' JobStoreSupport will be used. + /// It is therefore strongly recommended to perform all operations on + /// the Scheduler within Spring-managed transactions. + /// Else, database locking will not properly work and might even break + /// (e.g. if trying to obtain a lock on Oracle without a transaction). + ///
+ ///