spring-boot的定时任务比较简单,直接上代码:
一: 使用注解打开定时任务
@EnableScheduling //打开定时任务
@SpringBootApplication
public class SpringBoot127Application {
public static void main(String[] args) {
SpringApplication.run(SpringBoot127Application.class, args);
}
}
二:编写定时任务类
@Component
public class SchedulerTask {
private int count=0;
@Scheduled(cron="*/6 * * * * ?")
private void process(){
//指定时间处理的任务
}
}
//
@Component
public class Scheduler2Task {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 6000)
public void reportCurrentTime() {
System.out.println("现在时间:" + dateFormat.format(new Date()));
}
}
@Scheduled 参数可以接受两种定时的设置,一种是我们常用的cron=”/6 * * * ?”,一种是 fixedRate = 6000,两种都表示每隔六秒打印一下内容;
fixedRate 说明:
@Scheduled(fixedRate = 6000) :上一次开始执行时间点之后6秒再执行
@Scheduled(fixedDelay = 6000) :上一次执行完毕时间点之后6秒再执行
@Scheduled(initialDelay=1000,fixedRate=6000) :第一次延迟1秒后执行,之后按fixedRate的规则每6秒执行一次
到此结束;