【问题标题】:SessionContext RollBackOnly and MDB'sSessionContext RollBackOnly 和 MDB 的
【发布时间】:2011-09-13 06:49:33
【问题描述】:

如果我调用其中一个 EJB 的 this.sessionContext.setRollbackOnly() ,让 MDB 在事务中接收消息,然后执行多个 EJB 调用,这会触发 JMS 消息的重新传递吗?

所有 EJB 方法都标有 Requires_New 事务属性。

【问题讨论】:

    标签: session rollback message-driven-bean


    【解决方案1】:

    不,因为 MDB 的事务将在处理带有 @REQUIRES_NEW 注释的 EJB 时被挂起——每个都在自己的事务中。额外的假设是 setRollbackOnly() 是回滚 EJB 事务的唯一效果,即 EJB 正确退出并且没有抛出任何异常(在投票支持回滚后,与资源的进一步交互可能会导致来自 javax.ejb.EJBException 的异常家人被扔)。

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 2013-03-15
      • 2015-11-09
      • 2013-01-11
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多