Quartz笔记

Quartz笔记

一、Quartz简介

简介

quartz是一种基于java实现的任务调度框架,可以定时自动的执行你想要执行的任何任务。

5de8dc9b6a5492545f050f52b8926c7

在某一个有规律的时间点干某件事,并且时间的触发条件可以非常复杂(比如每个月最后一个工作日的18:00),复杂到专门需要一个框架来干这个事情。

quartz就是专门来干这样的事情的,给它一个触发条件的定义,它负责到点后,触发相应的Job来工作,如果应用程序需要在给定的时间执行任务,或者如果系统有连续维护作业,那么quartz是最理想的解决方案。

quartz做定时任务的调度,设置好触发时间规则,以及相应的任务(Job)即可。

作业(任务)调度

作业被安排在一个给定触发时运行,触发器可以使用以下的指令来创建:

在一天中的某个时间

在一周的某几天

在每月的某几天

在一年中的某些日期

重复特定的次数

重复进行,直到一个特定的时间/日期

无限重复

重复的延迟时间间隔

二、Quartz组成

任务Job(你要做什么事?将要执行的操作)

job就是你想要实现的任务类,每一个job必须实现org.quartz.job接口。

触发器Trigger(你什么时候去做? cron表达式)

Trigger为你执行任务的触发器,比如你想每天定时3点发送一份统计邮件,Trigger将会设置3点进行执行该任务。

调度器Scheduler(你什么时候需要做什么事?)

Scheduler为任务的调度器,它会将任务job及触发器Trigger整合起来,负责基于Trigger设定的时间来执行Job.