Quartz介绍
Quartz是开源任务调度框架中的翘楚,它提供了强大任务调度机制。Quartz允许开发人员灵活地定义触发器的调度时间表,并可对触发器和任务进行关系映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调用现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。
Quartz结构
Quartz对任务调度的领域问题进行了高度抽象,提出了调度器、任务和触发器这个核心概念,并在org.quartz通过接口和类对核心概念进行描述。
Job:开发者实现该接口定义需要执行的任务。JobExecutionContext类提供了调度上下文的各种信息。
JobDetail:描述Job的实现类及其他相关的静态信息。
Trigger:是一个类,描述触发Job执行的时间触发规则。主要有SimpleTrigger和CronTrigger这两个子类。
Calendar:是一些日历特定时间点的集合。一个Trigger可以和多个Calendar关联,以便排除或包含某些时间点。
Scheduler:代表一个Quartz的独立运行容器,
Cron表达式
Cron表达式由6或7个空格分隔的时间字段组成。
Cron表达式的时间字段除允许设置数值外,还可以使用一些特殊的字符,提供列表、范围、通配符等功能。