【发布时间】:2017-04-04 08:45:14
【问题描述】:
关于 EJB Container Managed Transaction 和 Bean Managed Transaction 的比较?
- 哪个性能更好。
- 何时使用其中任何一个的最佳实践。
谢谢
【问题讨论】:
标签: ejb containers
关于 EJB Container Managed Transaction 和 Bean Managed Transaction 的比较?
谢谢
【问题讨论】:
标签: ejb containers
在 BMT 和 CMT 之间进行选择取决于业务决策,而不是性能。
在我看来,没有最佳做法,但这些只是选择其中之一的一些示例。
骨髓移植
Stateful bean,全局提交依赖于其他方法的结果。通过将 BMT 与 Stateful 结合使用,您实际上可以让交易保持打开状态,并在您做出业务决策时关闭/提交它。CMT
Stateful,并且您希望实现 SessionSynchronization 接口以了解事务何时开始结束等...在这种情况下,您的 bean 必须使用 CMT在某些情况下,BMT 的使用需要考虑。
MessageDriven 一起使用,则消息不是事务的一部分,因此容器会确认消息。 【讨论】:
Bean Managed Transaction 应该比 Container Managed Transaction 快一点。
CMT需要做一些额外的工作,而BMT中不需要。
【讨论】: