定时任务
小于 1 分钟Spring全家桶SpringBoot精讲细讲
开启定时任务
@EnableScheduling
@SpringBootApplication
public class Springboot01Application {
public static void main(String[] args) {
SpringApplication.run(Springboot01Application.class, args);
}
}
定时任务编写
@Component
public class MySchedule {
@Scheduled(fixedDelay = 3000)
public void fixedDelay(){
System.out.println("fixedDelay:" + new Date());
}
@Scheduled(fixedRate = 3000)
public void fixedRate(){
System.out.println("fixedRate:" + new Date());
}
@Scheduled(initialDelay = 1000,fixedDelay = 2000)
public void initialDelay(){
System.out.println("initialDelay:" + new Date());
}
@Scheduled(cron = "0 * * * * ?")
public void cron(){
System.out.println("cron:" + new Date());
}
}
- fixedDelay 表示任务执行之间的时间间隔,具体是指本次任务结束到下次任务开始之间的时间间隔。
- fixedRate 表示任务执行之间的时间间隔,具体是指两次任务的开始时间间隔,即第二次任务开始时,第一次任务可能还没结束。
- initialDelay 表示首次任务启动的延迟时间。
- cron 表达式,可以非常丰富的描述定时任务的时间。cron 表达式格式如下:
[秒] [分] [小时] [日] [月] [周] [年]