2 qq 19279303 qq_19279303 于 2016.03.07 11:39 提问

spring任务调度方法重复执行2次

如题:
在使用spring任务调度时,任务的方法设置成每隔4个小时执行一次,但是现在发现这个方法在每隔4个小时执行了2次,看图。图片说明
spring的配置
方法

2个回答

qq_19279303
qq_19279303   2016.03.07 14:36
已采纳

问题已经解决了。从网上找到一位同志的办法完美解决 。
先把quartz配置信息提取出来,单独存成一个文件,比如applicationContext-quartz.xml
然后修改web.xml,让web容器启动时,可以加载该文件

这样quartz只会在web容器启动时加载一次,Spring不会再加载了。

web.xml配置如下:

contextConfigLocation
/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/applicationContext-timertask.xml

<!-- 开启监听 -->


org.springframework.web.context.ContextLoaderListener

把定时器的配置单独写成一个配置文件,在web容器启动的时候只加载一次

这个问题在Spring的TimerTask定时器下也会出现,解决方法也是如此,希望对各位大侠有所帮助。
源文:http://www.linuxidc.com/Linux/2012-11/73443.htm

wangkang80
wangkang80   2016.03.07 15:48

spring容器和springmvc的配置文件要分开加载,不然回会出现重复.

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
quartz任务调度执行时每次都执行两次
quartz任务调度执行时每次都执行两次
任务调度---执行两次 问题原因总结
且不论很是热火的解决方案, 就表面感觉而言, 一个程序会执行两次, 那么必需是调用了两次程序。但从我们的配置上看来只定义了一次: Xml代码   <Host name="lanvideo.cn" appBase="lanvideo" unpackWARs="true" autoDeploy="true" xmlValidation="fals
SPRING-MVC 启动重复加载两次映射
如下web.xml示例: part1.用spring的配置加载contextConfigLocation 2.配置spring-mvc的contextConfigLocation   contextConfigLocation classpath:spring-*.xml --------------------------------------
Spring task 执行两次解决方法
最近在项目中需要加定时任务,所有用到了spring task
spring AOP执行2次
去掉@Component就可以了。
spring MVC中一次url请求却执行目标action两次的解决办法
之前工作的时候遇到这个问题,后来浪费大把时间修改
java springmvc 定时器方法执行两次问题
原因是在web.xml要实例化两次分别是和里,所以要将定时器对任务,单独写到一个xml文件里,配置如下 同时定时器的xml代码如下 代表下午每天2点半执行
Spring的quartz定时器重复执行二次的问题解决
Spring的quartz定时器重复执行二次的问题解决 quartzSpringWebXMLTomcat . 最近用Spring的quartz定时器的时候,发现到时间后,任务总是重复执行两次,在tomcat或jboss下都如此。 打印出他们的hashcode,发现是不一样的,也就是说,在web容器启动的时候,重复启了两个quartz线程。 研究下来发现quartz确实会加载两次: 第一次:w
配置了 Spring AOP 但会调用两次的问题解决方法
1 发现问题项目配置了 Spring AOP,但会被调用两次:开始 before() [2017-07-26 11:10:18.071] [INFO]:[com.deniro.jail.service.sys.SysLogAspect][log] [com.deniro.jail.service.sys.SysLogAspect.log(SysLogAspect.java:43)] [调用方法:vo
springmvc aop 通知重复执行问题
由于自己疏忽,在编写切面时(@Aspect注解的类),同时增加了@Component注解了这个切面,然后又在spring下配置了这个切面的bean,导致当执行某个通知时执行了2次,将配置文件下配置的bean删掉即可...