在项目中常常会想要这样的功能:
在客户把商品加入到购物车后,如果30分钟没支付该订单,那么该订单失效,或者在这个时候提醒客户进行支付
,这些需求的实现都来自于定时任务调度框架.
今天来学一个简单的
任务调度框架Quartz
文章目录
简介
Quartz:
是一个
定时任务调度框架
.比如你遇到这样的问题:
- 想在30分钟后,查看订单是否支付,未支付则取消订单
- 想在每月29号,信用卡自动还款
- …
- 想定时在某个时间,去做某件事(任务)
Quartz是要做定时任务的调度,设置好触发
时间规则
,以及相应任务(Job)
即可.
Quartz使用
导入依赖
<!-- Quartz任务调度 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
定制一个Job(任务)
实现接口Job
package per.leiyu;
import org.quartz.*;
/**
* @author 雷雨
* @date 2020/6/27 21:05
*/
/**
* 定义了一个Job任务
*/
public class MyJob01 implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("你好,我是定时任务");
//可以通过JobExecutionContext来获取任务的标识(name)和组别(group)
JobDetail jobDetail = jobExecutionContext.getJobDetail();
JobKey key = jobDetail.getKey();
System.out.println(key.getName());