Advertisement

SpringBoot定时任务功能解析

阅读量:

一 背景

在实际应用开发中存在一种需求要求实现一种能够动态增删定时任务功能的机制。鉴于现有技术架构难以满足这一特定需求,在深入调研相关技术特性后发现现有主流解决方案对于此类场景的支持程度尚显不足。基于现有技术限制和技术挑战考虑我们不得不着手开发一套基于自身需求定制化的定时任务管理模块。

1 技术选择

Timer or ScheduledExecutorService

这两个都能实现定时任务调度,先看下Timer的定时任务调度

说明

在看下ScheduledThreadPoolExecutor的实现

// 配置一个名为example-schedule-pool-1的线程池服务实例
BasicThreadFactoryScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(1,
new BasicThreadFactory.Builder()
.namingPattern("example-schedule-pool-%d")
.daemon(true)
.build()
);
executorService.scheduleAtFixedRate(new Runnable() {
@Override
pu

全部评论 (0)

还没有任何评论哟~