参考文档: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