有些场景需要使用到定时任务,比如:
-
定时数据备份:定时任务可以用于自动备份数据库或重要文件。可以编写一个定时任务来定期执行数据备份操作,以保护数据的安全性。
-
定时数据同步:在分布式系统中,定时任务可以用于定期将数据从一个系统同步到另一个系统,确保数据的一致性和可用性。
-
定时报表生成:在业务系统中,可能需要定期生成报表并发送给相关人员。定时任务可以用于在指定的时间生成报表,并将其发送给指定的收件人。
使用起来也很简单,以下是开启定时任务的步骤:
1.启动类
@SpringBootApplication
@EnableScheduling //开启定时任务
@EnableAsync //开启多线程执行任务
public class Springboot007Application {
public static void main(String[] args) {
SpringApplication.run(Springboot007Application.class, args);
}
}
2.服务类
@Service
public class ScheduleTest {
@Async
@Scheduled(fixedDelay = 1000) //每1秒执行一次
public void task1() {
System.out.println("每1秒执行一次任务" + LocalDateTime.now().toLocalTime());
}
@Async
@Scheduled(fixedDelay = 2000) //每2秒执行一次
public void task2() {
System.out.println("每2秒执行一次任务" + LocalDateTime.now().toLocalTime());
}
}
效果:
更多用法可以查看官方文档:
Task Execution and Scheduling :: Spring Frameworkhttps://docs.spring.io/spring-framework/reference/integration/scheduling.html