今天帮助同事解决了基于spring quartz的定时程序不工作的问题。总结经验如下:
spring 的quartz 是由 SchedulerFactoryBean管理所有trigger。所以配置文件里要配上SchedulerFactoryBean,并ref到所有trigger。
这里有一点要注意的,就是spring初始化的时候这个SchedulerFactoryBean只能有一个实体。
如果在一个spring容器里加载了多个配有SchedulerFactoryBean的xml配置文件。只有最后一个SchedulerFactoryBean管理的trigger能工作。所以如果一定要把quartz配置文件分开,一定要注意SchedulerFactoryBean只能出现在一个文件中,并由这个bean管理所有文件中的trigger。
同文件中的trigger可以用 ref local="XXXXTrigger",外部文件中的trigger用ref bean="XXXXTrigger"。
本文解决了一个基于Spring Quartz的定时程序不工作的问题。关键在于正确配置SchedulerFactoryBean来管理所有的触发器(trigger),并确保在Spring容器中只有一个实例存在。文章详细说明了如何在多个配置文件中协调这些设置。
1453

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



