spring quartz执行两次问题

解决quartz定时任务被触发两次的问题:

其中<Host/>告诉tomcat,在启动的时候加载webapps下的所有项目工程文件,<Context/>又让tomcat再加载了一遍(一般情况下配置<Context/>,主要是由于想域名访问时将工程名去掉的原因配置),这种情况下会导致工程中的quartz定时被两次触发,执行两次。

<Host/>里面的改成 autoDeploy="false" deployOnStartup="false" 这样就可以避免tomcat服务器中自启动导致quartz定时任务被触发两次。(当然还可以按需求修改,毕竟每个项目的需求都不尽相同。)

1. autodeploy属性值设置为false,如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用,设成false就不会。

2.增加deployOnStartup="false",表示Tomcat服务器启动时, 不会自动发布appBase目录下所有的Web应用。

这样的话,在tomcat启动时,不会自动发布appBase下的应用,启动后也不会自动发步appBase下的应用。

当然网络上也有另外一种配置方法:

就是在<Context/>里面修改 docBase加上“/webapps”路径,当然项目访问路径就变为http://localhost/eugeneqiu_test 了,看见项目名实在是难受,我就没用这方法了。

解决quartz定时任务被触发两次的问题

方法1、通过改TOMCAT的配置文件server.xml配置

方法2、先把quartz配置信息提取出来,单独存成一个文件,比如applicationContext-quartz.xml 然后修改web.xml,让web容器启动时,可以加载该文件 。(此文没对此方法进行深入探究)

时间: 2024-10-14 17:56:48

spring quartz执行两次问题的相关文章

spring 定时器执行两次

spring错误笔记 spring定时器执行两次因为导入了两次 关于配置文件如下 <bean id="timeTaskService" class="xx.xxx.xxx.xxx.service.impl.na.TimeTaskService"/> <task:scheduled-tasks scheduler="myScheduler"><!--30秒执行一次 --> <task:scheduled r

spring定时任务执行两次的原因与解决方法

spring定时任务,本地执行一次,放到服务器上后,每次执行时会执行两次,原因及解决办法. http://blog.csdn.net/yaobengen/article/details/70312663 spring定时任务执行两次的原因与解决方法

quartz执行两遍问题

转:http://blog.csdn.net/hejinwei_1987/article/details/49100975 在现在的项目中发现Quartz执行了两次,在网上找到下列解决方案,我是用的第一种,灰常感谢这位哥们,转自:http://my.oschina.net/EugeneQiu/blog/265040?p=1 很多人在使用spring的Quartz配置定时任务时,会发现每次定时时间到达后,指定的定时方法同时执行了两次. (P.S. 本人项目用的Jfinal搭建,同样出现该问题.)

quartz 应用到 spring定时任务 执行两次 ,问题解决方案

是Tomcat服务器的问题,修改conf目录下的server.xml.修改节点Host,将appBase属性由默认"webapps"设置为空("")即可,如下所示: <Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNam

spring framework web @Scheduled 执行两次的问题

与本文相关的关键词:Spring @Scheduled 执行两次的问题 使用组件:Spring framework web mvc 现象如下:使用@Scheduled标注的方法会执行两次 通过google输入关键词:spring @scheduled called twice,会显示许多人遇到相似问题. 该问题的根本原因就是包含有@Scheduled方法的类被初始化两次. 在spring官方说明中有如下提示: Make sure that you are not initializing mul

分析解决 spring quartz 中出现的执行两次问题

1. 问题描述 在开发询盘功能时,遇到一个需求,就是后台定时任务执行用电施工业务的工单下发. 使用的技术是 spring quartz,因为其他应用有先例,配置quartz 完成后,先写了一个 helloworld 测试下. 然而却发现,每次到定时时间后,程序都会执行两次. 2. 分析过程 先使用 bing 搜索了下看别人是否也遇到过类似问题,果然有. http://blog.csdn.net/jiang117/article/details/43077275 上面文档的作者,查找的原因是 Co

Spring 被初始化两次(Spring-Task定时任务执行两次)分析和解决方法

初始问题: 采用Spring-Task配置定时任务,任务执行两次,该问题在Eclipse调试环境上不出现 分析问题: 第一步:开始怀疑业务逻辑,通过排查和定位排除业务原因(通过日志可以查看多次执行) 1 @Component("collection.car") 2 public class CollectionCarsJob { 3 private static Logger logger = LoggerFactory.getLogger(CollectionCarsJob.clas

spring scheduler相同时间内执行两次的问题

在网上找了大片文章,有的说是上下文被夹在两次的问题,可我配置scheduler的上下文着实没被夹在多次 之后才在网上找到,虽然还不明白原理,但是还是贴出来分享下 spring scheduler相同时间内执行两次的问题,布布扣,bubuko.com

Spring Quartz定时任务不准时执行

1. 前言 也是前段时间工作上遇到过这样的问题:quartz定时任务没有在预期的时间执行.后来研究了下quartz的机制,查明了原因,这里做个记录和分享. 2. 原因解释 先看一下spring quartz的大致机制或者说原理.quartz任务由一个主线程和线程池中的多个具体的工作线程构成. 主线程是QuartzSchedulerThread, 主要负责获取具体的定时任务和该任务执行的时间(比如可以通过cron expression 得到时间),并分发任务给线程池. 具体的任务由线程池中的工作线