有一个MDB在事务中接收消息,然后在我调用其中一个EJB的this.sessionContext.setRollbackOnly()时执行多次EJB调用,这会触发JMS消息的重新传递吗?
所有EJB方法都标有Requires_New事务属性。
答案 0 :(得分:1)
不,因为MDB的事务将被暂停,而正在处理带有@REQUIRES_NEW
注释的EJB - 每个事务都在其自己的事务中。另外的假设是setRollbackOnly()
是回滚EJB事务的唯一影响,即EJB正确退出并且没有抛出任何异常(在投票回滚之后,与资源的进一步交互可能导致{的异常{1}}被抛出的家庭。)