【发布时间】:2010-07-02 07:21:25
【问题描述】:
我发现在会话 bean 中,使用 Container-Managed-Transactions 时,可以使用 REQUIRED / SUPPORTS 等事务属性使事务与现有客户端事务连接。
在使用 Bean-Managed-Transaction 时,有没有办法使该事务与现有的客户端事务连接?
【问题讨论】:
标签: transactions jakarta-ee ejb-3.0 jta
我发现在会话 bean 中,使用 Container-Managed-Transactions 时,可以使用 REQUIRED / SUPPORTS 等事务属性使事务与现有客户端事务连接。
在使用 Bean-Managed-Transaction 时,有没有办法使该事务与现有的客户端事务连接?
【问题讨论】:
标签: transactions jakarta-ee ejb-3.0 jta
否(请参阅规范中的 § 13.6.1 和 § 13.6.2)。
但是你为什么要这样做呢?如果 bean 打算加入在其他地方开始的事务,只需将 if CMT 设置为 REQUIRED。当一个 BMT bean 调用另一个 bean 时,情况也是如此。 BMT bean 控制事务分界,其他 bean 使用 CMT 加入事务。
还要注意,在规范中,术语“客户端”是指 bean 的调用者,它可以是另一个 bean、独立客户端或外部客户端(例如 Web 服务请求)。 em>
【讨论】: