quartz做定时任务调度时重复执行多次的原因及解决方法

1. 注意并发加锁
@DisallowConcurrentExecution

2. 注意配置加锁
在配置文件加上org.quartz.jobStore.acquireTriggersWithinLock=true

3. 任务执行时间太短,比如是空任务,只需要1-2毫秒即执行完成,这种情况下,存在重复调度的情况,尤其是有部分刚过计划执行时间的任务。此时如果任务执行时间太短,可以在定时任务中,适当增加延迟等待,确保任务的执行时间不小于秒级别,比如增加一个1-3秒的延迟,这样就可以避免重复调度。

你可能感兴趣的:(Java,java,quartz,定时任务)