Spring Boot定时任务

@bruce  March 18, 2021

开启定时任务

在项目启动类上添加@EnableScheduling注解,开启对定时任务的支持

@SpringBootApplication
@EnableScheduling
public class ScheduledApplication {

    public static void main(String[] args) {
        SpringApplication.run(ScheduledApplication.class, args);
    }

}

其中@EnableScheduling注解的作用是发现注解@Scheduled的任务并在后台执行。

编写定时任务类和方法

定时任务类@Component注解,定时方法使用@Scheduled注解。

@Component
public class ScheduledTask {

    @Scheduled(fixedRate = 3000)
    public void scheduledTask() {
        System.out.println("执行任务");
    }

}

@Scheduled属性

  • @Scheduled(fixedRate = 3000):fixedRate属性表示定时任务开始后再次执行定时任务的延时(单位毫秒)
  • @Scheduled(fixedDelay = 3000):fixedDelay属性表示定时任务执行完成后再次执行定时任务的延时(单位毫秒)
  • @Scheduled(initialDelay = 1000, fixedRate = 3000):initialDelay属性表示第一次执行定时任务的延迟时间,需配合fixedDelay或者fixedRate来使用)
  • @Scheduled(cron="0 0 2 1 ? "):通过cron表达式定义规则

添加新评论