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手表价格大概是多少 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网