spring3.0自带的定时任务重复执行两次

在做公司的项目,使用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>
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值