原因,是TOMCAT的配置文件server.xml配置不当引起的,
请看下面这段配置就是错误的:
正确的配置如下
这两段的区别是第二段去除了appBase="webapps"中的webapps变成了appBase="",因为web应用程序都是放在webapps这个目录下的,如果不把“webapps“去掉,这里会调用一次quartz的任务调度,在接下来的“
----------------------
补充:看了此贴确实解决了我的问题。但是我要补充一下:楼主所说的情况并没有完全描述清楚
现在问题分两种情况:
1:把工程发布到tomcat的webapps目录下:
这样执行定时任务是没有问题的。我们也不用更改tomcat的配置。我找了几个tomcat,发现appBase="webapps"是tomcat的默认配置。我们在本地测试时发现定时任务只会执行一次。而且对多个定时进行监控,一切正常。所以,如果此种情况,那么,恭喜你,你不要改配置文件。
2:在tomcat的conf\Catalina\localhost目录下放置配置文件,把配置文件指向tomcat的外部工程。
这样就会出现调用两次定时任务的情况。所以请按楼主所描述的那样修改tomcat的server.xml配置文件。
在此,还是要感谢楼主呀。要不然,累死也很难发现这个问题。