美文网首页
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