
SpringBoot定时任务Schedule使用
在开发中很多时候会用到定时任务, 以前用自定义类继承***TimerTask***
public class CustomTask extends TimerTask{ @Override public void run() { // 执行业务代码 } } class Main { public static void main(String[] args) { // 调用 Timer timer= new Timer(); Calendar calendar= Calendar.getInstance(); // 设置定时时间, 当然还有其他方式 calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); calendar.ScheduleAtFixedRate(new CustomTask(), timer.getTime(), 1000 * 60 * 10); } }Timer和TimerTask详解:blog.csdn/xieyuooo/article/details/8607220
下面进入正题, SpringBoot中优雅使用定时任务
- 添加支持 在SpringBoot的启动类①中添加注解 @EnableScheduling
- 使用定时任务
通过上面这一个注解 *@Scheduled(cron = "0 1 * * * ") 这样就可以开启定时任务了, 惊不惊喜!
Cron表达式说明 详细说明
Cron是字符串表达式, 并由’域’和空格组成。
模版: Seconds Minutes Hours DayOfMonth Month DayOfWeek Year
Year可选 各 Sencods
这样创建的定时任务是同步的,即顺序执行。 这会遇到一个问题,当某个任务中断后会阻塞掉后面的任务, 导致其他任务‘失效’。所以配置异步是非常有必要的, 步骤如下:
- 添加Config
- 在定时方法上添加 @Async 注解
👁️ 阅读量:0
© 版权声明:本文《SpringBoot定时任务Schedule使用》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686479292a264675.html。