溫馨提示×

SpringBoot定時任務是怎么實現的

小億
100
2024-04-09 16:35:39
欄目: 編程語言

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內置了定時任務執行器,會自動調度定時任務的執行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女