quartz设置misfire策略

来源:互联网 发布:一知f君2月13号 编辑:程序博客网 时间:2024/06/06 00:08

转载于:https://my.oschina.net/go4it/blog/1424546


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();

原创粉丝点击