参考文档:
https://www.jianshu.com/p/d160f2536de7
https://www.cnblogs.com/je-ge/p/6129667.html
核心方法就是下面这段代码,通过实现SchedulingConfigurer接口来自定义cron的配置信息。在控制器中设定cron变量来达到控制定时任务。
public class DynamicScheduledTask implements SchedulingConfigurer {// 设定一个默认值
private String cron = "0/10 * * * * ?";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类上添加注解信息:@EnableScheduling