【问题标题】:How CMT and BMT are managed in EJB?在 EJB 中如何管理 CMT 和 BMT?
【发布时间】:2011-10-07 02:42:04
【问题描述】:

如何管理 CMT 和 BMT?

据我了解,容器管理事务是通过 JTA 实现的,JTA 由应用服务器支持,而不是像 tomcat 这样的网络服务器。

CMT 由事务管理器实现处理,该实现特定于每个应用程序服务器,它在内部读取 ejb-jar.xml 并应用 行为。

BMT 是在 java api 中的 user-transaction 类的帮助下划分的。

以上理解正确吗?

【问题讨论】:

    标签: jakarta-ee transactions ejb jta


    【解决方案1】:

    是的,没错。更多交易细节:

    对于 CMT,EJB 容器还负责通过委托给当前事务来实现 EJBContext.setRollbackOnly 和 isRollbackOnly,方法是在出现异常时回滚事务。

    对于 BMT,如果在 SLSB 和单例的方法结束之前未提交 UserTransaction,则 EJB 容器还负责引发异常。对于 SFSB,它负责在方法结束时暂停用户事务,并在下一次方法调用时恢复它们。

    【讨论】:

      猜你喜欢
      • 2015-11-26
      • 1970-01-01
      • 2012-02-29
      • 2015-04-03
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2012-02-05
      相关资源
      最近更新 更多