Quartz 定时计划问题
我项目使用定时器后 突然发现 同一时刻同一个方法被执行2次,日志显示都是同一个线程在执行。不知道什么原因,弄了很久 才发现原来是Tomcat中配置问题:
问题描述:
要求项目不加项目名称就能访问到,因此要在Tomcat的server.xml中写上
<Context path="" docBase="gy_Quertz" debug="0" reloadable="true"/>、
gy_Quertz 即项目名称。这样项目就不要加项目名称也可以访问了。
但是问题就在这里 如果加上这句话 Quartz会在同一时刻将我一个方法执行2次。我测试过 不加这句话的话
就是正常的一次!
这是什么原因 (希望能明白原理)如果我又想加上那句话又只让 Quartz正常的执行一次!我该怎么解
决!?? 谢谢了!
quartz
tomcat
path
测试
------解决方案--------------------<Context path="" docBase="D:\aaa" reloadable="true" debug="0"/>
是不是你的项目的加上路径的事呢,试试
------解决方案--------------------你的Quertz配置在哪里写着呢?如果是在applicationContext.xml里面写的话就会出现执行两次的情况,把配置那块描述一下吧
------解决方案--------------------这应该跟你的Quertz配置有关的。
------解决方案--------------------执行方法配置在xml文件里面了还是java文件呢,跟这个有关吧
------解决方案--------------------jsp+servlet+jdbc
用监听器不行吗?ServletContextListener
项目启动就开始定时器
何来的配置文件
------解决方案--------------------我没有仔细看你的内容,不过执行两次任务的事儿我倒是遇到过,当初查了一些资料,发现是因为TOMCAT会启动项目两次,具体为什么是两次我忘了,我把项目移出WEBAPPS文件夹就没事了。要不你试试??
------解决方案--------------------是不是跟你的job-class是个servlet有关系?