quartz 任务调度问题,每次都执行两次 相隔只有几微秒 导致插入数据库错误 没办法解决
[code="java"]
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 10
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
[/code]
[code="java"]
class="org.springframework.scheduling.quartz.CronTriggerBean">
<!-- 使用嵌套Bean的方式来定义任务Bean -->
class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- 指定任务Bean的实现类 -->
value="org.leegang.hrsystem.schedule.PunchJob"/>
<!-- 为任务Bean注入属性 -->
<!-- 指定Cron表达式:周一到周五21点执行调度 -->
value="0 0 21 ? * MON-FRI"/>
[/code]
那个我还真没配置过,你可以参考下我的配置
http://lerous.iteye.com/blog/258486
不知道你的quartz是用在什么地方,有可能你初始化了两次quartz的上下文 DEBUG看下呢
检查下 那个要执行的任务 bean 或者 cronTriggerPunch 是否配置了两遍?
[quote]org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 10
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore [/quote]
这是用来做什么的,要新开线程吗?
我记得以前用的时候是不需要配这个的。
那样配不一定有问题,但是你说的执行两次,会不会是多个线程都执行了调度认为呢?~~
8) 任务~
把你这段发来看看
<property name="cronExpression"
value="0 0 21 ? * MON-FRI"/>
你不可能还设置为周一到周五吧? 不然现在根本不会执行
你确定执行了两次?~ 设断点调试过了?
还有可能是job代码里面插入了两次...贴出来看看
这个问题我也遇到,很郁闷。执行2边,有没有高手给解决方案
你的spring配置文件加载了2次导致的,你可以配一个监听器,看看是不是web启动的时候加载了两次