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) 编辑 收藏 举报