- JobStore用来存储在Quartz运行过程当中的一些重要数据,比如jobs,triggers和calendars等
- 这里需要注意的是,JobStore是供Quartz来使用的,在我们的应用中不应该直接使用JobStore,在我们的代码中应该只出现Scheduler相关的API使用代码
RAMJobStore
RAMJobStore将所有的Quartz运行中的数据存储到内存中,因此这种方式存在一个很明显的缺点:当应用意外退出时,存储于内存中的数据就将全部丢失
JDBCJobStore
1.通过这种方式可以将Quartz在运行过程当中的数据保存到数据库当中
2.在Quartz的分发包的路径docs/dbTables下有创建数据库的初始化脚本,可以创建相应的数据库表
3.在默认的情况下利用Quartz脚本创建的数据库表的前缀为QRTZ_,当然这个前缀是可以改变的,可以用你自己定义的前缀,但是此时需要在配置文件中通知Quartz
org.quartz.jobStore.tablePrefix = QRTZ_
4.若让Quartz自己管理自己的事务的话,应该配置JobStoreTX
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
若让应用服务器管理Quartz的事务的话,应该配置JobStoreCMT
5.指定DriverDelegate(啥意思?)
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
6.指定JobStore所使用的数据源名称
org.quartz.jobStore.dataSource = myDS
TerracottaJobStore
参考文档