如何用 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 类型的任务的哈希映射,然后您就可以取消任务。
希望对您有所帮助!
嘿,我正在使用 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 类型的任务的哈希映射,然后您就可以取消任务。
希望对您有所帮助!