SpringBoot2.X整合定时任务和异步任务

一.什么是定时任务,使用场景?

  1.    某个时间定时处理某个任务
  2.    发邮件、短信等
  3.    消息提醒
  4.   订单通知
  5.    统计报表
  6.     ......

二.常见定时任务   

        Java⾃带的java.util.Timer类配置比较麻烦,时间延后问题
        Quartz框架: 配置更简单,xml或者注解适合分布式或者大型调度作业
        SpringBoot框架自带
三.SpringBoot使用注解方式开启定时任务
  1. 启动类里面添加 @EnableScheduling注解开启定时任务,自动扫描
  2. 定时任务业务类加注解 @Component被容器扫描
  3. 定时执行的方法加上注解 @Scheduled(fifixedRate=2000) 定期执行⼀次

       注解:cron 定时任务表达式 @Scheduled(cron="*/1* * * * *") 表示每秒

                 crontab ⼯具 https://tool.lu/crontab/

                 fifixedRate: 定时多久执行⼀次(上⼀次开始执⾏时间点后xx秒再次执行;)
                 fifixedDelay: 上一次执行结束时间点后xx秒再次执行
四.什么是异步任务以及其使用场景?
           适⽤于处理log、发送邮件、短信……
五.SpringBoot使用注解方式开启异步任务
        
      1. 启动类里面使⽤@EnableAsync注解开启功能,自动扫描
      2. 定义异步任务类并使⽤@Component标记组件被容器扫描,异步方法加上@Async
注意点:要把异步任务封装到类里面,不能直接写到Controller
              增加Future 返回结果 AsyncResult("task执行完成");
              如果需要拿到结果 需要判断全部的 task.isDone()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值