`
小嘴冰凉
  • 浏览: 447703 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

quartz的持久化

阅读更多
    看了下quartz集群和持久化的相关东西,发现跟把信息存在内存中一样简单。

StdJDBCConstants类存放的是quartz持久化的一些sql语句。

StdJDBCDelegate类相当于我们写的应用中的dao层。

JobStoreSupport类是dao层的上层封装

在类QuartzScheduler中开始分出存储在内容中还是持久化到数据库中,

或者从内容中或者数据库中查询job的一些信息。代码如下(1):



这修都是由配置文件中配置的,如下(2):



图(1)的 resources.getJobStore().storeJobAndTrigger(ctxt, jobDetail, trigger);其实就是获得(2)中配置的jobStore类,然后存储到内存或数据库中。

XMLSchedulingDataProcessorPlugin是对job的xml文件进行解析存储的类,在它的代码中会调用StdScheduler类。



附件有我画的关于持久化简陋流程图。
  • 大小: 11.7 KB
  • 大小: 10.2 KB
分享到:
评论
2 楼 小嘴冰凉 2011-02-14  
在开始执行的时候,如果是数据库存储,程序会从数据库中查job信息,如果是内容中存储,则根据内存信息生成job信息。

可查看RAMJobStore或JobStoreSupport类的triggerFired方法
1 楼 小嘴冰凉 2011-01-27  
quartz持久化跟在内容中是一样的,我们都可以通过


org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames = job_data.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true



解析信息。

只是会根据

org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore


采取不同的方式。

相关推荐

Global site tag (gtag.js) - Google Analytics