本文为项目当中,开发过程中的流程及问题解决,仅作为自己经验及记录所用,不具有通用性。
长篇大论我不写,在此只写关于项目实用的地方:
1、本文项目用到的是Quartz框架当中的Oracle数据库,创建的sql如下面文件所示:(使用时请将Quartz.sql.gz改为Quartz.sql)
2、在项目当中引入依赖的jar:(spring-context-support的jar依据项目需要选择合适的版本)
org.quartz-scheduler quartz 2.2.3 org.quartz-scheduler quartz-jobs 2.2.3 org.springframework spring-context-support 3.2.3.RELEASE 3、增加配置,配置文件名称为quartz.properties,配置说明请查看相关文档和其他博客#============================================================================
Configure JobStore
Using Spring datasource in SchedulerConfig.java
Spring uses LocalDataSourceJobStore extension of JobStoreCMT
#============================================================================
org.quartz.jobStore.useProperties=false
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.isClustered=true
org.quartz.jobStore.clusterCheckinInterval=5000
org.quartz.jobStore.misfireThreshold=600000
org.quartz.jobStore.txIsolationLevelReadCommitted=true
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#============================================================================
Configure Main Scheduler Properties
Needed to manage cluster instances
#============================================================================
org.quartz.scheduler.instanceName=ClusterQuartz
org.quartz.scheduler.instanceId=AUTO
org.quartz.scheduler.rmi.export=false
org.quartz.scheduler.rmi.proxy=false
org.quartz.scheduler.wrapJobExecutionInUserTransaction=false
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=5
org.quartz.threadPool.threadPriority=9
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
4、配置JobFactory
package top.yarcl.www.biz.quartz;
import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
imp