美文网首页
Spring的@Async

Spring的@Async

作者: 墙边的凳子 | 来源:发表于2014-04-26 11:34 被阅读0次

    ,但是有些小地方他又不给你很清楚的说明。

    • 要获得异步,加@Async即可
    • 如果要配置连接池,在applicationContext.xml中加入

    <task:executor id="WhifExecutor" pool-size="10"/>

    <task:annotation-driven executor="WhifExecutor" />

    注意: 使用连接池的情况下,applicationContext.xml配置文件需要加入命名空间

    xmlns:task="http://www.springframework.org/schema/task"

    http://www.springframework.org/schema/task

    http://www.springframework.org/schema/task/spring-task.xsd

    • 最重要的事情,很多异步无法成的原因如下:

    异步方法需要在另外一个service里面才行

    如下:

    失败的例子:

    @Service
    public class AsyncTest{
    
        public void dodd(){
            System.out.println("1");
            doSomeThing();
            System.out.println("3");
        }
        
        @Async
        public void doSomeThing(){
            System.out.println("2");
        }
    }
    
    

    成功的例子:

    @Service
    public class AsyncTest{
    
        @Resource
        AsyncIface asysncIface;
        
        public void dodd(){
            System.out.println("1");
            asysncIface.doSomeThing();
            System.out.println("3");
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Spring的@Async

          本文链接:https://www.haomeiwen.com/subject/beqrtttx.html