如何用 TaskScheduler 对象取消所有计划任务?

How to cancel all the scheduled tasks with TaskScheduler object?

嘿,我正在使用 TaskScheduler 对象在不同的​​时间安排一些任务。

我找不到停止所有任务的方法,我找到的唯一方法是重新启动我的服务器(应用程序),但我不想这样做。

我一直在尝试将执行器设置为空,但没有成功。

我附上我的代码:

    private TaskScheduler executor;

    public void createSched() {
    Runnable task;
    task=()-> LOGGER.info("hello");
    TimeZone time=TimeZone.getTimeZone("UTC");
    executor.schedule(task, new CronTrigger("0,5,10,15,20,25,30 * * * * ?",time));
   // this.executor=null;
}

在上面的代码之后,任务继续进行,我再也无法停止...

试试这个 link

您需要做的是保留所有来自 ScheduledFuture 类型的任务的哈希映射,然后您就可以取消任务。

希望对您有所帮助!