找了很多方法都没有解决问题,最后用了以下方法解决了Spring定时器执行两次的问题:
一、首先我用的定时任务方法是注解方法:
1.spring-mvc.xml配置:
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-4.1.xsd
<task:annotation-driven scheduler="qbScheduler" mode="proxy"/>
<task:scheduler id="qbScheduler" pool-size="10"/>
2.注解的方法:
@Component
public class TimingTask {
// 每天10点执行一次
@Scheduled(cron = "* * 10 * * ?")
public void tiggertimer() {
System.out.println("李大仙");
}
}
二、然后执行后导致运行了两遍,我的解决解决办法是:
1.对tomcat指定路径启动项目,修改tomcat\conf\server.xml
2.修改server.xml 中docBase 为自己的指定路径。
<Context docBase="G:\tomcat\apache-tomcat-7.0.78\test\timingTask" path="/" reloadable="true" />
注:如果要启动多个项目主要项目放入上述路径,其余项目放在tomcat\webapps 文件夹里即可。
这种方法使我的Spring启动两次问题解决,希望能帮助大家。