spring quartz 多次调用

背景:公司项目有一个定时任务,每月1号0点执行,用到了spring的定时任务。发下定时任务调用的方法执行了俩次。测试部署的客户现场不会有问题

(测试的server.xml不会变化,除非本身提供的tomcat就有一些默认的<context>),而开发本地会有问题

解决:经常排除spring自身没有bug,所以还是我自己的原因。后来查到项目只有第一次启动后,才会执行俩次,所以问题出在启动上面

经查项目启动时被加载了俩次,也就是所web.xml被加载了俩次,从控制台中可以看出来,搜索QuartzScheduler也发现打出俩次,这样问题

就引出来了,加载了俩次所以他才会执行俩次。解决问题的关键是为什么加载了俩次:eclipse中启动项目时,会将eclipse的server.xml发布到tomcat

的conf下:

解决问题的俩中方式:1、 在eclise中启动tomcat发现同一个项目被重复加载了两次,一直很纳闷哪里出了问题,

网上大家各种要去修改appBase之类的方法也不起作用,

最后偶然间发现是eclipse中tomcat设置的问题,见图中:

勾上标红的选项,就OK了!!。从新发布就ok

2,、参考如下博客,也可以,直接删除server.xml的<host>

中的<Context>节点

<Context docBase="shop" path="/shop" reloadable="true" source="org.eclipse.jst.j2ee.server:scBOSS-chargetice"/>

http://www.bkjia.com/ASPjc/870072.html(解决问题)

 

 

(为什么会出现标题的问题)

http://www.2cto.com/kf/201310/253251.html
http://bbs.csdn.net/topics/391903644

 

posted on 2016-07-27 08:23  struggle_beiJing  阅读(527)  评论(0编辑  收藏  举报

导航