@RestController
@RequestMapping("/api")
public class Controller {
private final Logger logger = LoggerFactory.getLogger(Controller.class);
@Autowired
private ThreadPoolTaskScheduler threadPoolTaskScheduler;
@Bean
public ThreadPoolTaskScheduler threadPoolTaskScheduler() {
return new ThreadPoolTaskScheduler();
}
private Map<Integer, ScheduledFuture<?>> taskMap = new HashMap<>();
/**
* 开启方案,并且手动触发定时任务
*
* @return
*/
@PostMapping("/startScheduler/{id}")
public Map<String, Object> startScheduler(@PathVariable Integer id) {
logger.info("REST request to startScheduler===>:" + id);
Map<String, Object> result = new HashMap<>();
//业务代码已删除,这里只展示定时任务相关代码
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
手动触发定时任务
于 2022-11-08 21:27:39 首次发布
本文介绍了如何在Java中手动触发定时任务,包括使用ScheduledExecutorService进行定时任务的创建和控制,以及在程序运行时动态调整任务的执行策略。
摘要由CSDN通过智能技术生成