任务调度框架
主要与三部分构成:Scheduler调度器,Trigger触发器,JobDetail任务详情
Trigger:触发器分为简单触发器和基于cron表达式的触发器,根据条件解析下一次的出发时间,同时可以设置错过执行(Misfire)的策略
JobDetail:维护任务的详情,执行类,使用的触发器等
Scheduler: 调度器,定时轮询获取可以触发的任务,分配线程去执行。
Misfire策略
导致Misfire的原因:
1)没有空闲线程
2)服务宕掉
1、MISFIRE_INSTRUCTION_SMART_POLICY 默认策略 等同于MISFIRE_INSTRUCTION_FIRE_NOW 立即执行一次
2、MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT 错过的忽略,等待下一次任务的执行
3、MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY 有空闲线程资源就去执行,直至恢复之前全部错过的misfire