关于spring中使用多个quatz配置文件配置计划任务时,只有其中一个文件的任务有效的问题
###问题描述 工作中用到了spring与quatz来实现定时器触发一些计划任务,原本都写在一个配置文件里。后来将不同业务逻辑拆分成两个文件后,发现每次spring容器启动后,只有其中一个文件中配置的计划任务有再执行,另一个则没有。
###解决方案 通过google在stackoverflow上找到了解决方案,其实原因很简单。在spring容器中配置了多个Scheduler的情况下,必须给每个Scheduler指定name与id,否则配置了单例的多个Scheduler初始化时会相互覆盖,造成只有一个Scheduler的配置有在运行。 所以要对配置文件做如下修改:
...... 前面关于执行类的定义这里省略 ......
###参考资料