Bootstrap

使用ThreadPoolTaskScheduler类实现定时任务的手动执行与取消

使用ThreadPoolTaskScheduler类实现定时任务的手动执行与取消

1、注入ThreadPoolTaskScheduler类

ThreadPoolTaskScheduler taskScheduler;

2、创建存放任务的Map

public static Map<String, ScheduledFuture<?>> taskMap = new HashMap<>();

3、创建自定义方法执行具体功能

public void sendMsg(String cron) {
        ScheduledFuture<?> future = taskScheduler.schedule(
                //1.添加任务内容sendTeacherNotice()
                () -> sendTeacherNotice(),
                //2.设置执行周期Trigger
        triggerContext -> new CronTrigger(cron).nextExecutionTime(triggerContext));
        taskMap.put("scheduleTaskName", future);
    }

4、终止方法

ScheduledFuture<?> future = TeacherNoticeRunner.taskMap.get("scheduleTaskName");
                if (future != null) {
                    //终止任务
                    future.cancel(true);
                }
;