Scheduler
定时任务调度器,用于整体管理任务的增删、启停和触发运行。See: Description
Class | Description |
---|---|
CronConfig |
定时任务配置类
|
CronTimer |
定时任务计时器
计时器线程每隔一分钟(一秒钟)检查一次任务列表,一旦匹配到执行对应的Task |
CronUtil |
定时任务工具类
此工具持有一个全局 Scheduler ,所有定时任务在同一个调度器中执行CronUtil.setMatchSecond(boolean) 方法用于定义是否使用秒匹配模式,如果为true,则定时任务表达式中的第一位为秒,否则为分,默认是分 |
Scheduler |
任务调度器
调度器启动流程: 启动Timer =》 启动TaskLauncher =》 启动TaskExecutor 调度器关闭流程: 关闭Timer =》 关闭所有运行中的TaskLauncher =》 关闭所有运行中的TaskExecutor 其中: TaskLauncher:定时器每分钟调用一次(如果 Scheduler.isMatchSecond() 为 true 每秒调用一次),
负责检查TaskTable是否有匹配到此时间运行的Task
TaskExecutor:TaskLauncher匹配成功后,触发TaskExecutor执行具体的作业,执行完毕销毁
|
TaskExecutor |
作业执行器
执行具体的作业,执行完毕销毁 作业执行器唯一关联一个作业,负责管理作业的运行的生命周期。 |
TaskExecutorManager |
作业执行管理器
负责管理作业的启动、停止等 此类用于管理正在运行的作业情况,作业启动后加入任务列表,任务结束移除 |
TaskLauncher | |
TaskLauncherManager |
作业启动管理器
|
TaskTable |
定时任务表
任务表将ID、表达式、任务一一对应,定时任务执行过程中,会周期性检查定时任务表中的所有任务表达式匹配情况,从而执行其对应的任务 任务的添加、移除使用读写锁保证线程安全性 |
Exception | Description |
---|---|
CronException |
定时任务异常
|
Scheduler
定时任务调度器,用于整体管理任务的增删、启停和触发运行。Task
定时任务实现,用于定义具体的任务CronPattern
定时任务表达式,用于定义任务触发时间CronUtil
工具类,维护一个全局的Scheduler
。Copyright © 2024. All rights reserved.