spring3.0自带的定时任务重复执行两次
2015-10-16 08:43
609 查看
在做公司的项目,使用spring3.0自动的定时任务,通过如下方式配置:
<task:scheduled-tasks>
<task:scheduled ref="taskService" method="sendMailTask" cron="0 0/30 * * * ?"/>
</task:scheduled-tasks>
本地使用tomcat和jboss部署,定时任务执行均正常,但上了linux测试及生产环境后,莫名的发现同一任务在同一时间被执行了两次,网上也搜集了大量资料,遇到类似问题的人也很多,逐一排查发现都是网上说的问题。最后发现项目中为了使用根目录可以直接访问系统,上线前在war包里加了jboss-web.xml配置文件,配置如下,导致job重复执行的真凶就是<context-root >/</context-root>,它会使web再重新加载一次,去掉之后就可以解决job重复执行的问题了。
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
<jboss-web>
<class-loading java2ClassLoadingCompliance="true">
<loader-repository>
com.example:archive= unique-archive-name
<loader-repository-config>
java2ParentDelegation=true
</loader-repository-config>
</loader-repository>
</class-loading>
<context-root >/</context-root>
<virtual-host>api.********.cn</virtual-host>
<virtual-host>192.168.1.202</virtual-host>
</jboss-web>
<task:scheduled-tasks>
<task:scheduled ref="taskService" method="sendMailTask" cron="0 0/30 * * * ?"/>
</task:scheduled-tasks>
本地使用tomcat和jboss部署,定时任务执行均正常,但上了linux测试及生产环境后,莫名的发现同一任务在同一时间被执行了两次,网上也搜集了大量资料,遇到类似问题的人也很多,逐一排查发现都是网上说的问题。最后发现项目中为了使用根目录可以直接访问系统,上线前在war包里加了jboss-web.xml配置文件,配置如下,导致job重复执行的真凶就是<context-root >/</context-root>,它会使web再重新加载一次,去掉之后就可以解决job重复执行的问题了。
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
<jboss-web>
<class-loading java2ClassLoadingCompliance="true">
<loader-repository>
com.example:archive= unique-archive-name
<loader-repository-config>
java2ParentDelegation=true
</loader-repository-config>
</loader-repository>
</class-loading>
<context-root >/</context-root>
<virtual-host>api.********.cn</virtual-host>
<virtual-host>192.168.1.202</virtual-host>
</jboss-web>
相关文章推荐
- Eclipse正确导入第三方project
- 开源 java CMS - FreeCMS2.4 敏感词管理
- JAVA(十六)--内部类
- 为TableView的行实现双击事件
- struts学习笔记
- Spring和SpringMVC的区别
- Java字段初始化规律:
- jdk环境配置
- java一个简单的内存泄漏的例子
- Java实现约瑟夫环
- Amazon OA2准备——Round Robin Java实现
- Eclipse安装Genymotion
- cucumber java从入门到精通(3)简单实现及断言
- 在eclipse下使用maven搭建Struts2,Hibernate4和Spring4开发环境
- eclipse环境安装&Robotium自动化测试环境安装&RobotiumRecord自动化录制环境安装
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- 如何使用Spring Session实现分布式Session管理
- eclipse下SpringBoot开发和测试
- Spring Security 4.0 CAS实现单点登录
- java并发(三十四)协程kilim