GitHub
src="//ghbtns.com/github-btn.html?user=je-ge&repo=spring-boot&type=watch&count=true" scrolling="0" width="110" height="20">
注解 @Scheduled(cron = “0/5 * * * * ?”)
相当于原来的xml版本的如下配置
<
task:scheduled
ref=
"scheduledTask" method=
"getTask1" cron=
"0/5 * * * * ?" />
定时任务类ScheduledTask
package com.jege.spring.boot.task;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* @author JE哥
* @email 1272434821@qq.com
* @description:从配置文件加载任务信息
*/
@Component
public class ScheduledTask {
private static final SimpleDateFormat dateFormat =
new SimpleDateFormat(
"HH:mm:ss");
@Scheduled(fixedDelayString =
"${jobs.fixedDelay}")
public void getTask1() {
System.out.println(
"任务1,从配置文件加载任务信息,当前时间:" + dateFormat.format(
new Date()));
}
@Scheduled(cron =
"${jobs.cron}")
public void getTask2() {
System.out.println(
"任务2,从配置文件加载任务信息,当前时间:" + dateFormat.format(
new Date()));
}
}
application.properties
jobs.fixedDelay=5000
jobs.cron=0/5
* * * * ?
@Scheduled中的参数说明
@Scheduled(fixedRate=
2000):上一次开始执行时间点后
2秒再次执行;
@Scheduled(fixedDelay=
2000):上一次执行完毕时间点后
2秒再次执行;
@Scheduled(initialDelay=
1000, fixedDelay=
2000):第一次延迟
1秒执行,然后在上一次执行完毕时间点后
2秒再次执行;
@Scheduled(cron=
"* * * * * ?"):按cron规则执行。
常用Cron表达式
0 0 10,
14,
16 * * ? 每天上午
10点,下午
2点,
4点
0 0/
30 9-
17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午
12点
"0 0 12 * * ?" 每天中午
12点触发
"0 * 14 * * ?" 在每天下午
2点到下午
2:
59期间的每
1分钟触发
"0 0/5 14 * * ?" 在每天下午
2点到下午
2:
55期间的每
5分钟触发
"0 0/5 14,18 * * ?" 在每天下午
2点到
2:
55期间和下午
6点到
6:
55期间的每
5分钟触发
"0 0-5 14 * * ?" 在每天下午
2点到下午
2:
05期间的每
1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午
2:
10和
2:
44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午
10:
15触发
"0 15 10 15 * ?" 每月
15日上午
10:
15触发
"0 15 10 L * ?" 每月最后一日的上午
10:
15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午
10:
15触发
"0 15 10 ? * 6L 2002-2005" 2002年至
2005年的每月的最后一个星期五上午
10:
15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午
10:
15触发
"0 15 10 ? * *" 每天上午
10:
15触发
"0 15 10 * * ?" 每天上午
10:
15触发
"0 15 10 * * ? *" 每天上午
10:
15触发
"0 15 10 * * ? 2005" 2005年的每天上午
10:
15触发
在线Cron表达式生成器
http://cron.qqe2.com/
源码地址
https://github.com/je-ge/spring-boot
如果觉得我的文章或者代码对您有帮助,可以请我喝杯咖啡。 您的支持将鼓励我继续创作!谢谢!
转载请注明原文地址: https://ju.6miu.com/read-963563.html