本文介绍: 1、分布式调用之 quartz 基本原理
任务调度需求分析
任务调度的实现方式有很多,如果要实现我们的调度需求,我们对这个工具有什么样的基本要求呢?
基本需求
1.可以定义触发的规则,比如基于时刻、时间间隔、表达式。
2.可以定义需要执行的任务。比如执行一个脚本或者一段代码。任务和规则是分开的。
3.集中管理配置,持久配置。不用把规则写在代码里面,可以看到所有的任务配置,方便维护。重启之后任务可以再次调度——配置文件或者配置中心。
4.支持任务的串行执行,例如执行 A 任务后再执行 B 任务再执行 C 任务。
5.支持多个任务并发执行,互不干扰(例如 ScheduledThreadPoolExecutor)。
6.有自己的调度器,可以启动、中断、停止任务。
7.容易集成到 Spring。
任务调度工具对比
Timer
单线程执行
Quartz
基本介绍
体系结构总结
JobDetail
Trigger
SimpleTrigger
CalendarIntervalTrigger
DailyTimeIntervalTrigger
CronTrigger
Scheduler
Listener
JobListener
TriggerListener
JobStore
RAMJobStore
JDBCJobStore
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。