通过实现Sc接口,实现定时任务,解决@Scheduled的定时任务改动cron需要服务重启的问题。
@Slf4j
@Component
public class ATestScheduleJob implements SchedulingConfigurer {@Value("${a.c:0/5 * * * * ?}")private String cron1;@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {taskRegistrar.addTriggerTask(() -> execute(), this.buildTrigger());}public Trigger buildTrigger() {return triggerContext -> new CronTrigger(cron1).nextExecutionTime(triggerContext);}/*** 主逻辑*/public void execute() {// 任务逻辑log.info("【定时任务】测试任务1@----@1正在执行============================>>>>>>>>>>>>>>>>>>>>>>>");}}
注意:别忘了启动类需要加@EnableScheduling注解!!! 注意:别忘了启动类需要加@EnableScheduling注解!!!
效果图: