在Spring Boot中使用@Scheduled实现定时任务

来源:互联网 发布:visio 2016 for mac 编辑:程序博客网 时间:2024/05/18 06:23


在Spring Boot中使用@Scheduled实现定时任务

之前没有使用Spring Boot的Java风格配置的时候,用XML配置过@Scheduled定时任务,现在都习惯使用Java风格配置了,在此简单记录
一下Spring Boot的@Scheduled定时任务的实现过程。

1. 添加@EnableScheduling注解到入口类声明上面,如下所示:

@SpringBootApplication@EnableSchedulingpublic class FooApplication extends SpringBootServletInitializer{    ...}
  • 1
  • 2
  • 3
  • 4
  • 5

2. 将@Scheduled添加到不带参数的方法上,如下所示:

@Componentpublic class ScheduleTaskService implements IScheduleTaskService {    @Override    @Scheduled(fixedRate = 6000)    public void autosync() {        System.out.print(".");    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

其中@Scheduled注解后面括号里面可以指定各种参数,在上面代码里面的fixedRate = 6000意思是下面的任务每隔6000毫秒,即每隔6秒执行一次。
下面简单提一下cron表达式,举个例子:

@Scheduled(cron = "0 0 3 * * ?")  //每天凌晨3:00执行任务
  • 1

cron表达式中各时间元素使用空格进行分割,分别表示如下含义:
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)

阅读全文
0 0
原创粉丝点击