spring定时任务被执行两次的问题,原来是tomcat重复发布导致的

今天中午楼主本来打算午睡前测试下项目里的一个spring定时任务,测完就睡觉的。结果到现在也没睡成委屈,问题刚刚解决....

遇到的问题就是定时任务总是被执行两次,开始是怀疑自己的程序有问题,各种改发现还不行,然后求助度娘,

发现问题所在,原因就是tomcat/conf/server.xml的配置方式有问题:


tomcat启动时首先会发布appBase指定的目录下的项目(这里默认是tomcat\webapps),然后就结束了么?不,


如果你的conf/server.xml配置文件里还有这样一段context配置,tomcat还会将这里docBase属性指定的项目目录也进行发布

也就是说如果你的appBase指定目录下有你要发布的项目,server.xml文件的context属性中也配置了你要发布的项目,你的项目就会被发布两次,定时任务也就会被执行两次。

解决办法很简单:要么去掉appBase下的项目war包和文件目录,要么就是去掉下面的那一段context配置。保证其中一个存在项目就会被tomcat正常发布

猜你喜欢

转载自blog.csdn.net/wb_snail/article/details/78921449
今日推荐