quartz設置misfire策略

quartz對不同的trigger提供了不同的misfire的處理策略,默認是MISFIRE_INSTRUCTION_SMART_POLICY,這里講解一下如何個性設置。

方式一:強轉設置

SimpleTrigger trigger = (SimpleTrigger) newTrigger()
                .withIdentity("trigger1", "group1")
                //如果你沒有調用 *startAt(..)*方法,那么當前時間(立刻激活)將被賦值。
                .startAt(startTime)
                .build();
        ((SimpleTriggerImpl)trigger).setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT);

方式二:流式api設置

SimpleTrigger trigger1 = newTrigger().withIdentity("trigger1", "group1").startAt(startTime)
                .withSchedule(simpleSchedule()
                        .withIntervalInSeconds(10)
                        .withRepeatCount(4)
                        .withMisfireHandlingInstructionNowWithRemainingCount())
                .build();

或者

CronTrigger trigger = newTrigger()
                .withIdentity("trigger1", "group1")
                .withSchedule(cronSchedule("0/20 * * * * ?")
                .withMisfireHandlingInstructionDoNothing())
                .build();
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容