标签: java java-ee ejb-3.1
我编写了一个小测试来使用@Asynchronous注释来理解EJB3.1中的异步行为。看来:
@Asynchronous
如果方法与调用者存在于同一个bean中,
但是,如果异步方法存在于另一个bean中,则行为是预期的,即调用是异步的,调用者事务是独立的(异步方法对事务具有REQUIRES_NEW行为)。这对我来说很困惑,因为在这两种情况下行为都不一样。请有人澄清一下吗?
P.S。环境EJB 3.1,JBoss 6
答案 0 :(得分:5)
使用this关键字而不是使用SessionContext#getBusinessObject(class)来调用该方法会导致该问题。 (区别在于here)
this
SessionContext#getBusinessObject(class)