Springboot定时器

@Component
public class photoEmailDemo {
//定时器测试
@Scheduled(fixedRate = 2000)
public void output() {
System.out.println(String.format(“当前时间:%s”, new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format(new Date())));
}
@Scheduled(cron = “0 0/1 * * * ?”)
public void stat(){
System.out.println(“每分钟执行一次”);
}
Scheduled(cron = “0 49 17 ? * FRI”)
public void stat(){
System.out.println(“每个周五晚上十二点启动”);
System.out.println(“备份数据库”);
}
}

示例
每隔5秒执行一次:*/5 * * * * ?

每隔1分钟执行一次:0 */1 * * * ?

每天23点执行一次:0 0 23 * * ?

每天凌晨1点执行一次:0 0 1 * * ?

每月1号凌晨1点执行一次:0 0 1 1 * ?

每月最后一天23点执行一次:0 0 23 L * ?

每周星期六凌晨1点实行一次:0 0 1 ? * L

在26分、29分、33分执行一次:0 26,29,33 * * * ?

每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
cron表达式语法:
[秒] [分] [小时] [日] [月] [周] [年]
注:[年]不是必须的域,可以省略[年],则一共6个域

序号 说明 必填 允许填写的值 允许的通配符
1 秒 是 0-59 , - * /
2 分 是 0-59 , - * /
3 时 是 0-23 , - * /
4 日 是 1-31 , - * ? / L W
5 月 是 1-12 / JAN-DEC , - * /
6 周 是 1-7 or SUN-SAT , - * ? / L #
7 年 否 1970-2099 , - * /

cron表达式使用占位符
另外,cron属性接收的cron表达式支持占位符。eg:

time:
cron: */5 * * * * *
interval: 5

@Scheduled(cron="${time.cron}")
void testPlaceholder1() {
    System.out.println("Execute at " + System.currentTimeMillis());
}

@Scheduled(cron="*/${time.interval} * * * * *")
void testPlaceholder2() {
    System.out.println("Execute at " + System.currentTimeMillis());
}
展开阅读全文
©️2020 CSDN 皮肤主题: 游动-白 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值