SpringBoot -定时任务

一、定时任务
1、开启支持,在启动类上面加个注解:@EnableScheduling

@SpringBootApplication
@EnableScheduling
public class DemoApplication {
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

2、代码示例

@Component
public class ScheduleTask {
	//间隔执行
    @Scheduled(fixedRate = 5000)
    public void testCurrentTime() {
        System.out.println("每隔五秒钟执行一次: " + new Date());
    }
    
    //定时执行
    @Scheduled(cron = "0 0 19 ? * *")
    public void fixTimeExecution() {
        System.out.println("在指定时间 " + new Date() + "执行");
    }
}

执行效果

每隔五秒钟执行一次: Fri Aug 30 17:17:00 CST 2019
每隔五秒钟执行一次: Fri Aug 30 17:17:05 CST 2019
每隔五秒钟执行一次: Fri Aug 30 17:17:10 CST 2019
每隔五秒钟执行一次: Fri Aug 30 17:17:15 CST 2019
每隔五秒钟执行一次: Fri Aug 30 17:17:20 CST 2019
每隔五秒钟执行一次: Fri Aug 30 17:17:25 CST 2019
每隔五秒钟执行一次: Fri Aug 30 17:17:30 CST 2019
...
在指定时间 Fri Aug 30 19:00:00  CST 2019执行

二、cron
cron表达式语法:[秒] [分] [小时] [日] [月] [周] [年]([年]不是必须的域)
第一位,表示秒,取值 0-59
第二位,表示分,取值 0-59
第三位,表示小时,取值 0-23
第四位,日期,取值 1-31
第五位,月份,取值 1-12
第六位,星期几,取值 1-7
第七位,年份,可以留空,取值 1970-2099

(*) 星号:可以理解为“每”的意思,每秒、没分
(?) 问好:只能出现在日期和星期这两个位置,表示这个位置的值不确定
(-) 表达一个范围,如在小时字段中使用 10-12 ,表示从10点到12点
(,) 逗号,表达一个列表值,如在星期字段中使用 1,2,4 ,则表示星期一、星期二、星期四
(/) 斜杠,如 x/y ,x是开始值,y是步长,如在第一位(秒)使用 0/15,表示从0秒开始,每15秒

三、参数详解

@Scheduled(fixedDelay = 5000) //上一次执行完毕时间点之后5秒再执行

@Scheduled(fixedDelayString = “5000”) //上一次执行完毕时间点之后5秒再执行
fixedDelayString与fixedDelay 意思相同,只是使用字符串的形式。唯一不同的是支持占位符

@Scheduled(fixedRate = 5000) //上一次开始执行时间点之后5秒再执行

@Scheduled(fixedRateString = “5000”) //上一次开始执行时间点之后5秒再执行
fixedRateString与fixedRate 意思相同,只是使用字符串的形式。唯一不同的是支持占位符。

@Scheduled(initialDelay=1000, fixedRate=5000) //第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次

initialDelayString与initialDelay 意思相同,只是使用字符串的形式。唯一不同的是支持占位符。

https://www.jianshu.com/p/1defb0f22ed1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值