Spring 基於 SchedulingConfigurer 實現定時任務,代碼以下:java
import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.scheduling.support.CronTrigger; import org.springframework.stereotype.Component; import java.util.Date; /** * Spring基於SchedulingConfigurer實現定時任務 */ @Component public class TestTask implements SchedulingConfigurer { // 執行定時任務時間(0 0 2 * * ? 表示上午2點,0 30 9 * * ? 表示上午九點30分) private String cron = "0 0 2 * * ?"; @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.addTriggerTask(() -> { // 定時任務要執行的內容 System.out.println("【開始執行定時任務。。。】"); }, triggerContext -> { // 定時任務觸發,可修改定時任務的執行週期 CronTrigger trigger = new CronTrigger(cron); Date nextExecDate = trigger.nextExecutionTime(triggerContext); return nextExecDate; }); } }