我遇到以下情况:
我希望“methodB”执行10次并行。但它只发生在从另一个bean调用“methodB”时。
为什么当从同一个类中的另一个方法调用该方法时,注释“@Asynchronous”不起作用?
感谢。
答案 0 :(得分:9)
它仅适用于通过客户端代理调用的方法,例如@Local
或@Remote
接口。这在EJB 3.1规范(第4.5节 - 4.5.1节)中描述:
会话bean可以使用异步客户端调用语义
公开方法...
@Asynchronous注释用于指定哪些业务方法是异步的。
...
异步方法调用语义仅适用于无接口,本地业务和远程业务客户端视图。