如何使用spring自带的定时任务动态化配置

我现在在做的是微信公众号开发管理后台,把公司十多个微信公众号集中到一个网站做管理

前段时间,接到一个需求,因为有的时候文章推送会钉在晚上八九点,六点钟运营就下班了,需要在界面上设置定时发送时间。

这需要动态化配置定时任务,然后我百度了一下,网上全是使用quartz框架的,如果改成这个,太麻烦了,然后我就想一下能不能

使用自带的ThreadPoolTaskScheduler 做动态化配置,然后看了了一下源码,发现贼简单。好了不说闲话了,开始上代码。

首先要配置ThreadPoolTaskScheduler 的bean ,因为我使用的是springboot 2.2.1的版本,只需要在application.yml 里面配置:

如何使用spring自带的定时任务动态化配置

上图配置只适合springboot2.0以上版本

好了,设置好线程池以后就是使用他动态化配置了

首先在需要使用的service里面引入线程池

如何使用spring自带的定时任务动态化配置

然后使用taskSchedule.schedule()的方法提交定时任务,支持传入指定时间,cron 表达式,以及间隔多少时间执行一次

今天就简单讲一下指定时间执行任务

如何使用spring自带的定时任务动态化配置