quartz 一次触发执行多次job 我用Spring 整合 Quartz了做了一个job为什么同...
spring \u6574\u5408 quartz\u505a\u4e86\u4e00\u4e2ajob\u4e3a\u4ec0\u4e48\u540c\u65f6\u6267\u884c\u591a\u6b21\u4e0d\u77e5\u8fd9\u6837\u884c\u5417
private final ReentrantLock lock = new ReentrantLock();
public void work() {
if(!lock.tryLock())
return;
try{
for(int i=0;i<1000;i++)
{
System.out.println(Thread.currentThread().getId());
}
}
}finally{
lock.unlock();
}
\u4e0d\u77e5\u8fd9\u6837\u884c\u5417
private final ReentrantLock lock = new ReentrantLock();
public void work() {
if(!lock.tryLock())
return;
try{
for(int i=0;i<1000;i++)
{
System.out.println(Thread.currentThread().getId());
}
}
}finally{
lock.unlock();
}
我是暂停了trigger等了一段时间,然后resumeTrigger的时候一次性把错过的全部执行了一次。
对错过的fire可以设定自己的规则。
https://my.oschina.net/chenleijava/blog/109904
CronTrigger
withMisfireHandlingInstructionDoNothing
——不触发立即执行
——等待下次Cron触发频率到达时刻开始按照Cron频率依次执行
withMisfireHandlingInstructionIgnoreMisfires
——以错过的第一个频率时间立刻开始执行
——重做错过的所有频率周期后
——当下一次触发频率发生时间大于当前时间后,再按照正常的Cron频率依次执行
withMisfireHandlingInstructionFireAndProceed
——以当前时间为触发频率立刻触发一次执行
——然后按照Cron频率依次执行
这个可能详细点,说了怎么配置。(我没试过)
http://blog.csdn.net/mxmxz/article/details/55273770
我也踩过这个坑,你的cron表达式写法有问题
0 0/5 * * * ?
应该是这样
扩展阅读:quartz手表多少钱女士 ... quartz 手动执行定时任务 ... quartz手表值钱吗 ... 飞亚达quartz手表价格 ... 定时器quartz 优点 缺点 ... quartz 中文翻译 ... 强制4xmsaa最好不要开多久 ... 一键修复丢失dll的方法 ... quartz手表价格大概是多少 ...