- 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
参考文档
本文介绍了Quartz Scheduler中JobStore的概念及其三种实现方式:RAMJobStore、JDBCJobStore和TerracottaJobStore。RAMJobStore将数据存放在内存中,而JDBCJobStore则将数据持久化到数据库,提供了更高的可靠性和灵活性。此外,还详细说明了如何配置JDBCJobStore以适应不同的应用场景。

104

被折叠的 条评论
为什么被折叠?



