admin管理员组文章数量:1794759
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 注解
本文标签: SpringBootschedule
版权声明:本文标题:SpringBoot定时任务Schedule使用 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686479074a72099.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论