基于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