情况:
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="项目名"这个相当于手动部署,当自动部署后,再手动部署,则会导致多次实例化,以至于出现本文的问题;