SpringBoot定时任务是怎么实现的

avatar
作者
猴君
阅读量:7

SpringBoot中实现定时任务的方式有两种:

  1. 使用注解:在定时任务的方法上添加@Scheduled注解,指定定时任务的触发规则,如固定间隔时间、固定延迟时间或cron表达式。示例代码如下:
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;  @Component public class MyScheduledTask {      @Scheduled(fixedRate = 5000) // 每隔5秒执行一次     public void task() {         // 定时任务执行的代码     } } 
  1. 实现SchedulingConfigurer接口:通过实现SchedulingConfigurer接口来动态地配置定时任务的触发规则。示例代码如下:
import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.stereotype.Component;  @Configuration public class MyScheduledTask implements SchedulingConfigurer {      @Override     public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {         taskRegistrar.addFixedRateTask(() -> {             // 定时任务执行的代码         }, 5000); // 每隔5秒执行一次     } } 

无论采用哪种方式,都需要在启动类上添加@EnableScheduling注解来启用定时任务的支持。SpringBoot内置了定时任务执行器,会自动调度定时任务的执行。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!