小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_43、SpringBoot2.x异步任务实战(核心知识)

笔记

3、SpringBoot2.x异步任务实战(核心知识)
    简介:讲解什么是异步任务,和使用SpringBoot2.x开发异步任务实战
        1、什么是异步任务和使用场景:适用于处理log、发送邮件、短信……等
            下单接口->查库存 100
                    余额校验 150
                    风控用户100
                    ....


        2、启动类里面使用@EnableAsync注解开启功能,自动扫描
        
        3、定义异步任务类并使用@Component标记组件被容器扫描,异步方法加上@Async
            注意点:
                1)要把异步任务封装到类里面,不能直接写到Controller
                2)增加Future<String> 返回结果 AsyncResult<String>("task执行完成");  
                3)如果需要拿到结果 需要判断全部的 task.isDone()
        4、通过注入方式,注入到controller里面,如果测试前后区别则改为同步则把Async注释掉

开始

springboot整合异步任务

创建异步任务的类


创建三个任务

把方法标记为异步任务。使用@Async注解

可以标记在方法和类上面

在类上也标记为异步类






测试





Future

用future拿到结果。判断异步的执行是否完成。





修改为同步

把这个类的注解不用了。就是个同步的类




 


posted @ 2019-08-28 23:16  高山-景行  阅读(226)  评论(0编辑  收藏  举报