大家好,我是IT修真院武汉分院第14期的学员,一枚正直纯洁善良的JAVA程序员。今天给大家分享一下,修真院官网复盘项目的知识点——SpringBoot 定时任务 @Scheduled
1.背景介绍
什么是定时任务
我们在编写应用中经常会遇到这样的场景, 比如: 我需要定时地发送一些短信, 邮件之类的操作, 也可能会定时地检查和监控一些标志, 参数等, 这个时候我们就可以通过定时计划来让程序定时的执行一些任务. 我这里主要是复盘项目中有一个文件上传的逻辑中使用定时任务定时去清理一些缓存文件.
2.知识剖析
如何创建定时任务
在Spring Boot中编写定时任务是非常简单的事, 首先在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置
创建定时任务实现类, 并实现具体的任务
3.常见问题
1.如何创建一个定时任务?
2.如何动态修改定时任务的执行周期?
3.如何动态添加计划任务?
4.解决方案
1.通过 @EnableScheduling 注解并实现SchedulingConfigurer接口即可开启spring的计划任务, 搭配 @Component 让spring容器加载该类完成计划任务的注入
2.可以通过设定一个变量来控制定时任务的执行周期
3.在定时任务执行时创建一个新的计划任务即可完成循环执行
5.编码实战
6.扩展思考
如何使用数据库来动态的添加和修改任务?
7.参考文献
1、http://blog.didispace.com/springbootscheduled/
8.更多讨论
鸣谢
感谢观看,如有出错,恳请指正