定时任务也算是我们日常开发中比较常见的需求了,市面上也有很多成熟的框架:
- quartz
- elastic-job
- xxl-job
- ...
不过小伙伴们知道,其实我们 Spring 框架中也提供了相应的定时任务,这个定时任务通过 @EnableScheduling 注解开启,松哥之前也写过文章和大家分享这个注解的基本用法:
- Spring Boot 中实现定时任务的两种方式!
不过之前的定时任务都是固定的,提前写死的,没法动态配置,前两天有小伙伴问松哥如何实现定时任务的动态配置?
这个东西要是基于 xxl-job 之类的框架来做其实是比较容易的,不过用 Spring 自带的 @EnableScheduling 注解其实也能实现,而且并不难,松哥基于此火急火燎的写了一个,今天先和大家聊聊大致用法,后面抽空再写一篇文章介绍实现原理。
项目已开源,项目地址:
- https://github.com/lenve/scheduling
食用方式
- 克隆项目:git clone https://github.com/lenve/scheduling.git。
- 本地数据库创建一个名为 scheduling 的库。
- 修改配置文件 src/main/resources/application.yaml,主要修改数据库连接的用户名和地址。
- 启动项目。
- 浏览器访问 http://localhost:8080,可以看到如下页面: