springboot 动态配置定时任务

参考文档:html

https://www.jianshu.com/p/d160f2536de7ide

https://www.cnblogs.com/je-ge/p/6129667.htmlthis

 

核心方法就是下面这段代码,经过实现SchedulingConfigurer接口来自定义cron的配置信息。在控制器中设定cron变量来达到控制定时任务。.net

@Component
public class DynamicScheduledTask implements SchedulingConfigurer {htm

    // 设定一个默认值
    private String cron = "0/10 * * * * ?";blog

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.addTriggerTask(
                // 1.添加任务内容(Runnable)
                () -> System.out.println("执行定时任务2: "),
                // 2.设置执行周期(Trigger)
                triggerContext -> {
                    // 2.3 返回执行周期(Date)
                    return new CronTrigger(cron).nextExecutionTime(triggerContext);
                });
    }接口

    public void setCron(String cron) {
        this.cron = cron;
    }
}文档

 

须要在Application类上添加注解信息:@EnableSchedulingget

相关文章
相关标签/搜索