在项目开发过程中,我们经常需要执行具有周期性的任务,通过定时任务可以很好的帮助我们实现。
常见的定时任务有JDK自带的TimeTask,ScheduledExecutorService,第三方的quartz框架,elastic-job等。
今天要给大家介绍的是SpringBoot自带的定时任务框架,通过@Scheduled注解就能很方便的开启一个定时任务。
Spring Schedule框架功能完善,简单易用。对于中小型项目需求,Spring Schedule是完全可以胜任的。
TimeTask,Spring-Schedule,Quartz对比
SpringBoot配置定时任务
SpringBoot开启一个定时任务非常简单,在方法上加上@Scheduled注解跟配合@EnableScheduling注解开启就能够开启一个定时任务。
这里的cron表达式可参考前面的文章:linux 定时任务crontab命令详解
@Component
@EnableScheduling
@Slf4j
public class ScheduledTask {
@Scheduled(cron = "*/1 * * * * ?")
public void cronTask1(){
log.info("CronTask-当方法的执行时间超过任务调度频率时,调度器会在下个周期执行");
try {
Thread.sleep(5100);
} catch (InterruptedException e) {

本文介绍了SpringBoot自带的定时任务框架,通过@Scheduled注解轻松创建定时任务。对比了TimeTask、Spring-Schedule和Quartz,详细讲解了SpringBoot配置定时任务、线程池设置以及源码解析,包括任务扫描、触发机制。学习源码有助于提升编程技能。

最低0.47元/天 解锁文章
1371

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



