ThreadPoolTaskScheduler可以注册定时任务,ScheduledFuture有一个cancel方法可以取消定时任务,所以可以通过二者结合使用去完成定时任务的添加修改或者删除
package com.holidaylee.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture;
@Component
public class ScheduleTaskUtils {
private static Logger logger = LoggerFactory.getLogger(ScheduleTaskUtils.class);
private Map<String, ScheduledFuture<?>> futuresMap;
@Autowired
private ThreadPoolTaskScheduler threadPoolTaskScheduler;
/**
* 初始化任务列表
*/