1.配置类 @Configuration public class ThreadPoolTaskSchedulerConf { @Bean public ThreadPoolTaskScheduler threadPoolTaskScheduler() { return new ThreadPoolTaskScheduler(); } }
2.具体逻辑类
public class ReconciliationTask implements Runnable{ @Override public void run() { System.out.println(LocalDateTime.now()); } }
3.请求入口:传入cron表达式 如:0/1 * * * * ?
@RestController public class TestController { @Autowired ThreadPoolTaskScheduler conf; ScheduledFuture future; @GetMapping("/test") public void test(String corn) { if (null != future) { //取消此任务 future.cancel(true); } future=conf.schedule(new ReconciliationTask(), new CronTrigger(corn)); } }
结果: