Quartz Misfire Mechanism based Jdbc JobStore

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chen517611641/article/details/88930132

基于jdbcjobstore的错过处理策略

Misfire

基于jdbcjobstore的错过处理策略
MisfireHandler

MisfireHandler启动位置在JobStroeSupport#scheduleStarted();

Trigger的各个接口中定义了各个类型的Trigger支持的misfire机制

fire_once_now:针对misfired job马上执行一次
do_noting:装不知道,啥都不干,等下次出发

SimpleTrigger的策略要多四个,针对repeat count

每个Trigger都有一个smart_policy,在对应Trigger的updateAfterMisfire方法中,可以看到这个值是哪个策略;

updateAfterMisfire方法的功能是根据当前Trigger指定的misfire策略,计算Trigger的nextFireTime;然后等待调度线程调度;

每种策略的具体处理方式也可以在此方法总分析到;

quartz.properties文件中有一个misfireThreshold,超时超过了这个阀值,才会被认为是misfire;
org.quartz.jobStore.misfireThreshold

参考
基于Quartz开发企业级任务调度应用此文中有关于Misfired的老旧的知识,但是一看就懂;

猜你喜欢

转载自blog.csdn.net/chen517611641/article/details/88930132