您的位置:首页 > 编程语言 > Java开发

Spring @Scheduled 执行两次 问题总结

2015-12-30 19:14 621 查看
参考:http://bbs.csdn.net/topics/391054322

使用 Spring @Scheduled 注解实现定时任务: 

1:servlet.xml中添加了 task命名空间 和 

XML/HTML code

?
2:使用@Service 注解调度类,添加了@Scheduled 方法:

Java code

?


令人费解的是:定时任务在线上服务器上总是执行两次(定时更新数据的操作啊!!!!)
在本机调试和测试机上测试都只执行一次,原因不明
注:在网上找了下原因,说的都是实例化两次的原因,可是对比了网上说的的情形,和我当前遇到的根本不一致~~



网上搜罗了各种原因,最终发现问题在tomcat配置中;现把可能导致这种问题的情况列出来分享:

1.检查扫描注解配置。
如果xml中配置了一次,注解又配置了一次,相当于创建了两个实例,那么就会出现执行两次的情况;

2.查询tomcat 的server.xml文件里的何配置
 <Context > 和<Host>节点如何配置的,如果多个context配置的同一个工程,那么tomcat就会加载两次该工程,任务执行两次也就是正常的了;

3如何部署的项目

是否打包war放入了webapps下  又设置了server.xml里的context指定了该war包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息