一、什么是Quartz?
Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作
业调度提供了简单却强大的机制。
Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。
Quartz 允许程序开发人员根据时间的间隔来调度作业。
Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。
二、Quartz可以做什么?
指定一个特定的时间去执行特定的任务。每秒/每分/每小时/每天/每天几点几分去执行
- 信用卡账单通知,每月几号定时发送短信给用户
- 每天数据推送等操作
三、Quartz核心概念
- Job 表示一个工作,要执行的具体内容。此接口中只有一个方法,实现这个接口在方法中编写需要执行的代码
execute(JobExecutionContext context)
- JobDetail 表示一个具体的可执行的调度程序,Job 是这个可执行程调度程序所要执行的内容,另外 JobDetail 还包含了这个任务调度的方案和策略。
- Trigger 代表一个调度参数的配置,什么时候去调。指定Job的执行时间,执行间隔,运行次数等
- Scheduler 代表一个调度容器,一个调度容器中可以注册多个 JobDetail 和 Trigger。当 Trigger 与 JobDetail 组合,就可以被 Scheduler 容器调度了。
3.1 Trigger
3.1.1 SimpleTrigger
在一个指定时间段内执行一次作业任务或是在指定的时间间隔内多次执行作业任务
距离当前时间4秒钟之后首次执行任务,6秒后停止,每隔2秒执行,执行3次
//获取距离当前时间4秒后的时间
date.setTime(date