springMVC定时任务总是执行两次

时间:2021-07-13 07:49:22

情况:

  springmvc的定时任务在本机上测试的时候没有问题,但是放到测试服务器上的时候总是执行两次:

探索:(网上搜索)

  一、spring注入的时候实例化了多次,说是spring-servlet.xml,applicationContext.xml配置重复,我没找到重复

  二、tomcat的配置文件server.xml配置重复导致实例化多次,主要说是<Host>中appBase=""属性和<Context>的docBase=""属性配置重复,我这并未发现这个问题

  三、是否打包war放入了webapps下  又设置了server.xml里的context指定了该war包,我这webapps中并未放war包

  四、tomcat的work下的Catalina.out下的localhost文件件(tomcat/conf/Catalina/localhost/)下还有一个server.xml叶配置了工程目录,所以导致实例化两次,但是我这并没有这个文件

最后的最后:

  原来还是第二项中的server.xml配置中的问题,把<Host>中appBase=""的值置为空,再把<Context>的docBase=""的属性改为项目的绝对路径,例如:/usr/local/tomcat/webapps/项目名;原来有问题的配置是:<Host>中appBase="webapps",<Context>的docBase="项目名";

  <Host>中appBase="webapps"这个下的项目都会自动部署,

  <Context>的docBase="项目名"这个相当于手动部署,当自动部署后,再手动部署,则会导致多次实例化,以至于出现本文的问题;