文档章节

关于spring中使用多个quatz配置文件配置计划任务时,只有其中一个文件的任务有效的问题

Tek_Eternal
 Tek_Eternal
发布于 2015/02/20 18:34
字数 458
阅读 533
收藏 13

关于spring中使用多个quatz配置文件配置计划任务时,只有其中一个文件的任务有效的问题

###问题描述 工作中用到了spring与quatz来实现定时器触发一些计划任务,原本都写在一个配置文件里。后来将不同业务逻辑拆分成两个文件后,发现每次spring容器启动后,只有其中一个文件中配置的计划任务有再执行,另一个则没有。

###解决方案 通过google在stackoverflow上找到了解决方案,其实原因很简单。在spring容器中配置了多个Scheduler的情况下,必须给每个Scheduler指定name与id,否则配置了单例的多个Scheduler初始化时会相互覆盖,造成只有一个Scheduler的配置有在运行。 所以要对配置文件做如下修改:

<beans>
	......
	前面关于执行类的定义这里省略
	......
   <!-- Scheduler配置 如果将lazy-init='false'那么容器启动就会执行调度程序,如果配置了多个,必须分配id,且每个Scheduler id不同 -->
    <bean id="startQuertz" lazy-init="false" singleton="true"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
          <!--name也必须设置,保证各Scheduler之间不同即可-->
        <property name="schedulerName" value="defaultScheduler"/>
        <property name="triggers">
            <list>
                <ref bean="doTime"/>
            </list>
        </property>
    </bean>

</beans>

###参考资料

  1. Stackoverflow: 《Using two schedulers in one Spring context》

© 著作权归作者所有

共有 人打赏支持
Tek_Eternal
粉丝 10
博文 24
码字总数 16362
作品 0
福州
程序员
Spring Boot--自定义Starter之spring-boot-starter-quartz

痛点 在Spring中使用计划任务,有两种方案可供选择:一、用Spring原生的计划任务,使用起来非常简单,只需要用到@Scheduled注解即可;二、集成Quartz来做计划任务,需要配置大量的Quartz原生...

大大枣
04/03
0
0
实现Spring中的任务调度及异步执行

首先要端正一下本人的态度,开发了很长时间的Java Web项目,寄托于Spring MVC的架构,多数时间都是在处理业务逻辑问题,所以我个人单纯地认为Web开发,多线程的应用场景应该不多,能不用尽量...

chace0120
2014/08/01
0
1
【SpringBoot专题】快速体验

前言 在Spring 4推出来之前,我们的编码是存在一些问题,比如:大量的xml配置存在项目中,配置相当繁琐;整合第三方框架非常麻烦;开发效率和部署效率不高等问题。正是因为这些问题,Spring开...

张丰哲
08/05
0
0
用quartz实现多任务动态加载

Quartz是什么 Quartz是一个用Java编写的任务调度框架,任务调度是什么,举例说明:比如我们需要在每个星期四下午三点时候发周报,我们需要一个系统在两点半的时候给我们一个发周报的提醒,这...

随影求是
2012/05/03
0
0
Quartz的简单易懂定时任务实现

作为一个优秀的开源调度框架,Quartz 具有以下特点: 强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求; 灵活的应用方式,例如支持任务和调度的多种组合方式,支持...

begrateful
09/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部