Spring Boot应该是目前最火的java开源框架了,它简化了我们创建一个web服务的过程,让我们可以在很短时间、基本零配置就可以启动一个web服务。
定时任务在我们平常的业务开发用的非常多,Spring Boot创建一个定时任务很简单,只需要用@Scheduled注解方法,就可以让方法按照定义的时间进行运行。但是,Spring Boot的@Scheduled默认是单线程的,也就是如果有两个定时任务,那第二个定时必须在第一个定时任务执行完成之后才能开始执行。当然我们可以使用@Async让方法异步,来达到多线程的目的。但是,今天我要讲的是如何重写Spring Boot定时任务,并可支持动态调整执行时间。
1、定义我们需要定时触发的任务方法
重写Spring Boot定时任务,支持可动态调整执行时间
实例代码中我们定义了两个需要进行定时触发的任务。并且自定义注解@CronScheduled

2、自定义注解@CronScheduled
自定义注解的作用主要在于后续的逻辑可以获取到该方法的执行周期。同时也可以定义其它的属性,用于后续的业务逻辑处理

重写Spring Boot定时任务,支持可动态调整执行时间
3、注册定时任务
标题我们提出了支持可动态调整执行时间。平常的定时任务中我们没法动态调整执行时间,除非重启应用。那我们咋这里怎么动态调整时间呢?思路是:重新注册任

本文介绍了如何在Spring Boot中重写定时任务,使其支持动态调整执行时间。通过自定义注解@CronScheduled,定义任务方法并注册定时任务,当检测到执行时间变化时,重新注册任务以实现动态调整。文章详细阐述了整个实现过程,包括任务的定义、注解的创建、任务的注册以及如何根据配置变化重新请求任务。

2603

被折叠的 条评论
为什么被折叠?



