SpringBoot默认已经实现了定时任务。
启动类启用定时
在启动类上面加上@EnableScheduling即可开启定时。
package com.wu.parker.schedule;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* @author: wusq
* @date: 2019/1/10
*/
@SpringBootApplication
@EnableScheduling
public class ScheduleApplication {
public static void main(String[] args) {
SpringApplication.run(ScheduleApplication.class, args);
}
}
创建定时任务实现类
package com.wu.parker.schedule.task;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* @author: wusq
* @date: 2019/1/10
*/
@Component
public class MyTask {
@Scheduled(cron="*/6 * * * * ?")
private void execute(){
System.out.println("每6秒执行一次");
}
}
@Scheduled 参数可以接受两种定时的设置,一种是我们常用的cron="*/6 * * * * ?",一种是fixedRate=6000,两种都表示每隔六秒打印一下内容。
cron用法比较通用,目前看到的讲得好的资料是《Spring 3.x企业应用开发实战》第13章-任务调度和异步执行器。
源代码
https://github.com/wu-boy/parker.git
parker-schedule模块