tomcat中的quartz定时任务每次都被执行了两次


这两天发现部署到tomcat中的quartz定时任务每回都被执行了两次,但是在myeclipse执行时又不会,后来搜了网上,才发现该问题只发生于部署在tomcat服务器上,由tomcat的自启动导致。

导致该问题的原因是你的tomcat的conf目录中的server.xml有如下配置


  <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="C:\Program Files\Tomcat 6.0\webapps\XXX\"  workDir="C:\Program Files\Tomcat 6.0\webapps\XXX\"  />

  其中第一行告诉tomcat,在启动的时候加载webapps下的所有项目工程文件,第二行又让tomcat再加载了一遍(一般情况下配置第二行,主要是由于想域名访问时将工程名去掉的原因配置),这种情况下会导致工程中的quartz定时被两次触发,执行两边。



因此修改方法如下


<Host name="localhost"  appBase=""

            unpackWARs="false" autoDeploy="false"

            xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="C:\Program Files\Tomcat 6.0\webapps\XXX\"  workDir="C:\Program Files\Tomcat 6.0\webapps\XXX5xun5mi\"  />

将第一行中的appbase中的值去除,且autodeploy属性值设置为false,因此该行不会导致任何工程项目的加载。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值