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

问题描述

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

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

解决方案

问题已经解决了。从网上找到一位同志的办法完美解决 。
先把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

解决方案二:

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

时间: 2024-10-30 13:30:20

spring任务调度方法重复执行2次的相关文章

service-创建一个服务,重复执行某个方法

问题描述 创建一个服务,重复执行某个方法 我创建了一个服务器,每5分钟运行一次.但是当程序执行到while(true),就会报错.我估计这是不允许的.有什么更好的方法能重复执行某一个方法呢? public class repService extends Service { @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } while(true){

jQuery中is方法防止动画重复执行、停止执行的方法

定义和用法 is() 根据选择器.元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true. 语法 .is(selector) 与其他筛选方法不同,.is() 不创建新的 jQuery 对象.相反,它允许我们在不修改 jQuery 对象内容的情况下对其进行检测.这在 callback 内部通常比较有用,比如事件处理程序. 返回 false,因为 input 元素的父元素是 p 元素:   var isFormParent = $("input[t

Linux系统中重复执行命令的方法小结

  普通的重复执行命令 实际操操作过程中,经常会遇到重复执行同一命令,以观察其结果变化的情况,以前经常是上下键加回车,或是Ctr+p然后回车的方式. 现在告诉大家一个好用的命令--watch,它可以全屏执行这个命令,并显示执行结果.例如: 代码如下: #watch uptime #watch -t uptime #watch -d -n 1 netstat -ntlp #watch -d 'ls -l | fgrep goface' //监测goface的文件 #watch -t -differ

Shell脚本避免重复执行的方法_linux shell

很多用cron定时执行的shell脚本可能会由于各种原因执行很久,会有必要在运行的时候先检查一下自身是否还在运行.本文提供的linux shell脚本用以检查以命令sh ...来执行的shell脚本.要对其他东西进行唯一性检查,可以稍微修改一下源代码. 复制代码 代码如下: # 检查通过sh命令执行的shell脚本是不是还在执行当中,避免重复执行. # 把这段代码放在需要保证唯一性的程序头部即可 # 注意,如果直接把此脚本放到cron里面执行的话,必须再grep -v " -c sh "

android中ListView多次刷新重复执行getView的解决方法_Android

以前倒是没有注意listview的getView会重复执行多次,这次因为布局比较复杂,所以在测试的时候去断点跟踪,发现同一条数据不断的重复执行.觉得很奇怪,于是上网搜索了一下.网上的解释基本一致,就是ListView布局时height和width都不是fill_parent,导致不断计算高度,不断刷新.或者说它的父容器没有设置成fill_parent. 可以布局太复杂的情况下,全部按照fill_parent去调整不现实.所以想了另一种方案,就是动态固定高度. 在程序运行后,固定ListView的

linux crontab实现在小于一分钟内重复执行

linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. 1.使用延时来实现每N秒执行 创建一个php做执行动作,非常简单,就是把当前时间写入log. <?php file_put_contents('/home/fdipzone/php/crontab/run.log', date('Y-m-d H:i:s')."\r\n", FILE_APPEND); ?> crontab -e 输入以下语句,然后 :wq 保存退出.

IHttpModule.Init方法被执行多次的原因

发现不少朋友跟我一样,错把IHttpModule.Init拿来当做Application_Start的替代品,在其中做一些应用程序初始化的操作. 但其实IHttpModule.Init和Global.asax中的Application_Start事件性质是不同的,不能直接拿IHttpModule.Init来代替Application_Start做ASP.NET应用程序的初始化过程.也不能简单的拿Init方法被重复调用来断定是ASP.NET程序发生了重启. 原因是IHttpModule.Init在

在 Java 应用程序中计划重复执行的任务

所有类型的 Java 应用程序一般都需要计划重复执行的任务.企业应用程序需要计划每日 的日志或者晚间批处理过程.一个 J2SE 或者 J2ME 日历应用程序需要根据用户的约定计划 闹铃时间.不过,标准的调度类 Timer 和 TimerTask 没有足够的灵活性,无法支持通常需 要的计划任务类型.在本文中,Java 开发人员 Tom White 向您展示了如何构建一个简单通 用的计划框架,以用于执行任意复杂的计划任务. 我将把 java.util.Timer 和 java.util.TimerT

js定时器(执行一次、重复执行)_javascript技巧

1,只执行一次的定时器 复制代码 代码如下: <script> //定时器 异步运行 function hello(){ alert("hello"); } //使用方法名字执行方法 var t1 = window.setTimeout(hello,1000); var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法 window.clearTimeout(t1);//去掉定时器 </scrip