`

Quartz+Spring 配置坑记录

阅读更多

 

   项目案例中使用的环境spring-3.1.x+Quartz 2.1.7, 最开始因为是单机配置,非常容易,分分钟搞定,并正常。后面因为项目是集群部分,需要改造为最容易的DB锁方式集群Quartz。要下班了,弄完并验证,没时间写正常的配置过程,反正GOOGLE一大堆,记录下坑吧。

 

单机配置

 --掠过

DB方式集群配置

 --掠过

 

 

坑:

1、如果你配置的是单机模式(org.quartz.simpl.RAMJobStore),Quartz 的Spring配置配置文件千万别加入:default-autowire="byName" ,因为在org.springframework.scheduling.quartz.SchedulerFactoryBean中有个dataSource属性,如果你的项目的DataSource恰好名字是“dataSource”,那告诉你,你完了,打死配置不出RAMJobStore,永远的:“LocalDataSourceJobStore”。原因:

SchedulerFactoryBean源代码:

if (this.dataSource != null) {

   mergedProps.put(StdSchedulerFactory.PROP_JOB_STORE_CLASS, LocalDataSourceJobStore.class.getName());

 

}

 

所以你不配置数据库方式,他也自动给你数据库方式。

 

2、数据库村创建(JobStoreTX或JobStoreCMT)方式,配置的cronExpression表达式无法更新,第一次配置运行后,就一直保存到数据库中,FK,你怎么修改配置文件,都不更新。查了下google,有人用插件配置定时更新(难道写个程序修改数据库!!?晕倒)。我没有整了,反正配置好一般不变更。有高人知道好方案的给普及下,感谢!~

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics