论坛首页 Java企业应用论坛

spring集成quartz,出现2次重复调用的问题 (问题已解决,谢谢大家!)

浏览 19773 次
精华帖 (1) :: 良好帖 (8) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-30  
哦,原来如此,谢谢阿,我也碰到过这个问题,原来问题出在tomcat配置上,我老以为是quartz调用的问题,我在tomcat上配了1个定时任务是上午2点的,我下班时把机器(windowXP)休眠了,第二天开机,那个定时任务会在我开机后跑起来,有的时候会有调用2次的情况。。。
0 请登录后投票
   发表时间:2008-05-30  
楼主不简单呀,这个问题居然能发现,谢谢分享
0 请登录后投票
   发表时间:2008-06-17  
呵呵。我也遇到这个问题。刚要发帖,我想还是搜索一下,哈哈居然有解决方案了。。谢谢!~
0 请登录后投票
   发表时间:2008-06-17  
非常感谢,我也遇到这个问题
感觉莫名其妙的,还好楼主给出了答案
0 请登录后投票
   发表时间:2008-06-18  
我按这个方法测试过了。但是我在启动tomcat的时候报错。说没有找到manager和host-manager文件或不存在。
工程虽然可以访问。但是tomcat管理页面无法进入。
请问怎么解决。。
0 请登录后投票
   发表时间:2008-10-08  
duprf 写道

应大家要求,解释一下原因,是TOMCAT的配置文件server.xml配置不当引起的,

请看下面这段配置就是错误的:

<Host name="www.***.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true" />
<Context path="" docBase="/tomcat/webapps/***" debug="1" />
<Context path="/***2" docBase="/tomcat/webapps/***2" debug="1" />
</Host>


正确的配置如下

<Host name="www.***.com" debug="0" appBase="" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true" />
<Context path="" docBase="/tomcat/webapps/***" debug="1" />
<Context path="/***2" docBase="/tomcat/webapps/***2" debug="1" />
</Host>
这两段的区别是第二段去除了appBase="webapps"中的webapps变成了appBase="",因为web应用程序都是放在webapps这个目录下的,如果不把“webapps“去掉,这里会调用一次quartz的任务调度,在接下来的“<Context path”中又会调用一次quartz的任务调度,所以就重复了2次

 

----------------------

看了此贴确实解决了我的问题。但是我要补充一下:楼主所说的情况并没有完全描述清楚

现在问题分两种情况:

1:把工程发布到tomcat的webapps目录下:

这样执行定时任务是没有问题的。我们也不用更改tomcat的配置。我找了几个tomcat,发现appBase="webapps"是tomcat的默认配置。我们在本地测试时发现定时任务只会执行一次。而且对多个定时进行监控,一切正常。所以,如果此种情况,那么,恭喜你,你不要改配置文件。

2:在tomcat的conf\Catalina\localhost目录下放置配置文件,把配置文件指向tomcat的外部工程。

这样就会出现调用两次定时任务的情况。所以请按楼主所描述的那样修改tomcat的server.xml配置文件。

在此,还是要感谢楼主呀。要不然,累死也很难发现这个问题。

 

0 请登录后投票
   发表时间:2009-02-03  
请问 我在web工程里使用的quartz,也出现了重复执行两次的问题,
我按照楼主的方法修改了tomcat的server.xml
我的tomcat版本为4.1
修改后quartz正常执行了,但是web工程没有办法访问了?这是为什么?
是不是我的tomcat没有配置好?
请给出解决方案!!!!!

<Host name="localhost" debug="0" appBase=""
       unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
        timestamp="true"/>
<Context path="" docBase="jlgs" debug="0"/>
0 请登录后投票
   发表时间:2009-02-11  
确实不错!帮我解决了,我TOMCAT启动两次的问题!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics