天天看點

Quartz Misfire Mechanism based Jdbc JobStore

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

繼續閱讀