Package | Description |
---|---|
cn.hutool.cron |
定时任务模块,提供类Crontab表达式的定时任务,实现参考了Cron4j,同时可以支持秒级别的定时任务定义和年的定义(同时兼容Crontab、Cron4j、Quartz表达式)
定时任务模块由三部分组成: Scheduler 定时任务调度器,用于整体管理任务的增删、启停和触发运行。 |
cn.hutool.cron.listener |
定时任务执行监听接口及部分实现
|
cn.hutool.cron.pattern |
定时任务表达式解析,核心为CronPattern
|
Class and Description |
---|
CronConfig
定时任务配置类
|
CronException
定时任务异常
|
Scheduler
任务调度器
调度器启动流程: 启动Timer =》 启动TaskLauncher =》 启动TaskExecutor 调度器关闭流程: 关闭Timer =》 关闭所有运行中的TaskLauncher =》 关闭所有运行中的TaskExecutor 其中: TaskLauncher:定时器每分钟调用一次(如果 Scheduler.isMatchSecond() 为 true 每秒调用一次),
负责检查TaskTable是否有匹配到此时间运行的Task
TaskExecutor:TaskLauncher匹配成功后,触发TaskExecutor执行具体的作业,执行完毕销毁
|
TaskExecutor
作业执行器
执行具体的作业,执行完毕销毁 作业执行器唯一关联一个作业,负责管理作业的运行的生命周期。 |
TaskExecutorManager
作业执行管理器
负责管理作业的启动、停止等 此类用于管理正在运行的作业情况,作业启动后加入任务列表,任务结束移除 |
TaskLauncher |
TaskLauncherManager
作业启动管理器
|
TaskTable
定时任务表
任务表将ID、表达式、任务一一对应,定时任务执行过程中,会周期性检查定时任务表中的所有任务表达式匹配情况,从而执行其对应的任务 任务的添加、移除使用读写锁保证线程安全性 |
Class and Description |
---|
TaskExecutor
作业执行器
执行具体的作业,执行完毕销毁 作业执行器唯一关联一个作业,负责管理作业的运行的生命周期。 |
Class and Description |
---|
CronException
定时任务异常
|
Copyright © 2024. All rights reserved.