Spring 定时任务 Scheduling
实现SchedulingConfigurer接口,自定义定时任务的执行表达式(可配置固定,也可设置动态)
重写configureTasks()方法
定义运行逻辑run()和定时任务执行表达式Trigger()
package com.erdp.service;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import java.util.Date;
public class BizMsgPushTask implements SchedulingConfigurer {
public static String cron;
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
Runnable runnable = new Runnable() {
@Override
public void run() {
};
};
Trigger trigger = new Trigger() {
@Override
public Date nextExecutionTime(TriggerContext triggerContext) {
String paramCron = "数据库查询cron表达式";
cron = paramCron;
CronTrigger cronTrigger = new CronTrigger(cron);
Date nextExecutionTime = cronTrigger.nextExecutionTime(triggerContext);
return nextExecutionTime;
}
};
}
}