gpt4 book ai didi

java - 无状态 session bean 事务

转载 作者:行者123 更新时间:2023-11-30 09:11:17 25 4
gpt4 key购买 nike

我正在开发一个 JSF 网络应用程序。服务层是使用无状态 session bean 开发的。这些无状态 bean 使用 CDI 注入(inject)托管 bean。

我知道要管理无状态 bean 中的事务,我可以使用容器管理的事务或 bean 管理的事务。此外,无状态 bean 中的所有公共(public)方法默认情况下都在容器管理的事务中。

所以我的问题是:

无状态 bean 中事务管理的首选方法是容器管理还是 bean 管理?

是否建议在服务层同时使用 bean 管理和容器管理的事务 bean?

是否可以在单个 bean 中同时使用容器管理和 bean 管理的事务?如果可能,是否可取?

请让我知道您的建议...

最佳答案

Which is the preferred approach for transaction management in stateless bean - container >managed or bean managed?

典型且首选的方法是使用 CMT。事务管理是应用服务器提供的有用服务之一,它简化了您的开发,因此,您应该在绝大多数时间使用这种方法(这也是默认方法)。

但是,在一些特殊情况下,BMT还是很有必要的:

a) 当您需要减少事务边界以提高性能时。

b) 当您有一个有状态 session bean 并且您需要跨多个客户端调用保留一个事务时。 (很难看出这何时有用)。

Is it advisable to have both bean managed and container managed transaction beans in service layer?

是的,如果某些服务需要上述特殊要求,您可以使用两种 bean 事务类型作为服务层的一部分。

Is it possible to use both container managed and bean managed transactions in a single bean? If possible is it advisable?

不,这是不可能的。

关于java - 无状态 session bean 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22178116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com