`
nkliuliu
  • 浏览: 206384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring定时任务执行两次

阅读更多
 <Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        <Context  docBase="/usr/local/apache-tomcat-6.0.29/webapps/semwinner"  path=""   reloadable="true"></Context>
        <Context  docBase="/usr/local/apache-tomcat-6.0.29/webapps/emarboxmanager"  path="/admin"   reloadable="true"></Context>

      </Host>

 把appBase设置为空即可!

去除了appBase="webapps"中的webapps变成了appBase="",因为web应用程序都是放在webapps这个目录下的,如果 不把“webapps“去掉,这里会调用一次quartz的任务调度,在接下来的“<Context path”中又会调用一次quartz的任务调度,所以就重复了2次

分享到:
评论
5 楼 HeSanJava 2016-06-27  
谢谢,文章很有用
4 楼 JobinBai 2015-12-05  
xiaoqiang2008 写道
执行两次的原因是什么,好像楼主没弄清楚啊!
是不是在web.xml中同时配置了ContextLoaderListener和DispatcherServlet?假如真是这样的话,需要删掉一个配置,因为你相当于配置了两个spring容器,两个容器分别都执行各自的计划任务,所以同一个计划任务被执行了两次。
ContextLoaderListener是整合struts等其他框架时常用的配置,起加载时执行优先级高,可以在struts加载之前就执行;假如项目中只有spring框架,那仅配置DispatcherServlet就行了。
以上只是个人猜测,希望能有助于碰到类似问题的朋友们!


这个是正确的。
3 楼 zhangguicheng12 2014-11-06  
果然是tomcat配置的问题
  多谢了!
2 楼 xiaoqiang2008 2013-05-30  
执行两次的原因是什么,好像楼主没弄清楚啊!
是不是在web.xml中同时配置了ContextLoaderListener和DispatcherServlet?假如真是这样的话,需要删掉一个配置,因为你相当于配置了两个spring容器,两个容器分别都执行各自的计划任务,所以同一个计划任务被执行了两次。
ContextLoaderListener是整合struts等其他框架时常用的配置,起加载时执行优先级高,可以在struts加载之前就执行;假如项目中只有spring框架,那仅配置DispatcherServlet就行了。
以上只是个人猜测,希望能有助于碰到类似问题的朋友们!
1 楼 zx527291227 2012-09-18  
你好!按照你的说我尝试了下但是还是会访问两次,能帮忙看下是什么问题么?
http://zx527291227.iteye.com/admin/blogs/1680575

相关推荐

Global site tag (gtag.js) - Google Analytics