SchedulingConfigurer接口实现动态Cron

159 阅读1分钟

1.实现接口

implements SchedulingConfigurer

2.重写方法

实现SchedulingConfigurer接口后,重写

@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
    taskRegistrar.addTriggerTask(() -> {
      // 运行定时任务逻辑
    }, triggerContext -> {
        // 动态表达式设置
        CronTrigger trigger = new CronTrigger(Optional.ofNullable(datasetConfig.getCron()).orElse("0 */5 * * * ?"));
        return trigger.nextExecution(triggerContext);
    });
}

3.类加上注解

类上需要加入注解

@EnableScheduling

通过这三步即可完成动态cron的定时任务.