第8章 定时任务
8.1 Spring Task 单机定时任务
8.2 Cron 表达式
8.3 QuartZ 分布式定时任务
在实际项目中经常会需要在具体的时间点执行某程序,如每周报表统计等。Spring Boot提供了Sping Task来解决单机情况下的定时任务需求,在分布式架构中,则可以使用QuartZ来协调调度多个定时任务从而避免重复计算的问题。
8.1 Spring Task 单机定时任务
Spring Boot已默认集成了Spring Task,无需任何配置通过注解便可直接使用。
@Component
@EnableScheduling
public class BookTask {
private long count = 0;
@Scheduled(fixedRate = 1000)
public void taskA() {
System.out.println("当前时间:" + System.currentTimeMillis() + "\n执行次数:" + count++);
}
}
@EnableScheduling
扫描所有的Scheduled注解,使定时任务生效,该注解也可以配置于Spring Boot入口处。
@Scheduled
本文详细介绍了微服务架构下如何处理定时任务,包括Spring Task单机定时任务的使用,如@Scheduled注解的fixedRate、fixedDelay等属性,以及Cron表达式的配置。同时,讲解了在分布式环境中,Quartz如何解决任务重复执行的问题,通过与Spring Boot、MySQL的集成,实现集群调度和崩溃转移机制。
订阅专栏 解锁全文
7838

被折叠的 条评论
为什么被折叠?



