zoukankan      html  css  js  c++  java
  • @Async 注解不生效

      今天发现了一个奇怪的问题,@Async 在某些地方不生效,不是异步的而是同步。(自己对Spring-Boot的@Async 注解不是很了解导致的)

      大概代码如下:

      

    public void handData() throws InterruptedException {
            System.out.println("方法1");
            asyneTask();
            System.out.println("运行结束");
        }
    
        @Async
        public void asyneTask() throws InterruptedException {
            Thread.sleep(1000);
            System.out.println("方法2");
        }

      程序执行的时候,永远会等待【方法2】输出,查了一下百度,大致的方法是缺少配置之类的,但是我这里显然不是,因为其他的异步注解生效了,不过从以下博客或问答中发现了问题:

      【博客】http://blog.didispace.com/springbootasync/

      【问答】https://www.oschina.net/question/3070332_2269990

      博客中,异步的方法调用是在另一个类里面,而我的这个是两个方法都在同一个类里面,只是一个方法调用另一个异步方法,不生效。

       解决方法就是拆分两个方法,将异步方法单独放在一个类里面,然后再去调用就解决了。具体参考【博客】链接。

      如果错漏欢迎指正。

  • 相关阅读:
    坚持博客
    虚拟机CentOS7.2 1611 Minimal最小化安装后桥接固定ip
    Js 希望某链接只能点击一次
    ThinkPHP3.2 杂记
    Mysql 杂记
    Linux挂载Win共享文件夹 一
    Linux 监测系统资源
    Phpstrom 书签应用
    php默认有最大执行时间
    tp3.2中配置链接多个数据库
  • 原文地址:https://www.cnblogs.com/timeout/p/10477561.html
Copyright © 2011-2022 走看看