zoukankan      html  css  js  c++  java
  • 小D课堂

    笔记

    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拿到结果。判断异步的执行是否完成。





    修改为同步

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




     


  • 相关阅读:
    [leetcode]Remove Nth Node From End of List @ Python
    [leetcode]Swap Nodes in Pairs @ Python
    [leetcode]Linked List Cycle II @ Python
    [leetcode]Linked List Cycle @ Python
    [leetcode]LRU Cache @ Python
    [leetcode]Reorder List @ Python
    [leetcode]Insertion Sort List @ Python
    [leetcode]Sort List @ Python
    [leetcode]3Sum Closest @ Python
    [elk]elasticsearch实现冷热数据分离
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11427163.html
Copyright © 2011-2022 走看看