人之患在好为人师。——《孟子》

今天朋友问我定时任务怎么创建,让我们一起重温复习一下吧~

img

首先需要在启动类上加@EnableScheduling注解(组件上也可以加)

image-20201221202441018

然后在需要定时的方法上加上@Scheduled注解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.ruben.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
* @ClassName: LogTask
* @Description: 我还没有写描述
* @Date: 2020/12/21 0021 20:11
* *
* @author: <achao1441470436@gmail.com>
* @version: 1.0
* @since: JDK 1.8
*/
@Slf4j
@Component
public class LogTask {


@Scheduled(cron = "*/5 * * * * ?")
public void logRecord() {
log.info("执行了");
}
}

然后运行项目,发现每过五秒就执行了一次

image-20201221202650846

关于上面用于指定时间的cron表达式,常用的可以看我这篇博客

如果我们需要给定条件判断是否执行,可以往redis里存一个key,执行开始判断有无此key,有则不执行