【问题标题】:Why do we use @Stateless when using @TransactionAttribute? EJB为什么我们在使用@TransactionAttribute 时使用@Stateless? EJB
【发布时间】:2018-09-04 01:00:48
【问题描述】:

我想知道为什么我们在使用TransactionAttributeType的时候要使用无状态注解,像这样:

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 
@Stateless
public class Controller {

感谢任何帮助,谢谢!

【问题讨论】:

    标签: java jpa ejb


    【解决方案1】:

    @Stateless 确定 bean 的类型(不与客户端保持对话状态的bean)。 @TransactionAttribute 确定处理事务的方式。在您的示例中,bean 在调用结束后不会保持特定于客户端的状态。但是,当您选择 REQUIRES_NEW 时,它将始终为每个方法调用创建一个新事务(与默认的 REQUIRED 不同,当可以使用现有事务并且如果它不存在它将由容器创建时)。

    【讨论】:

      猜你喜欢
      • 2019-05-06
      • 2017-02-04
      • 2013-04-12
      • 2018-08-03
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 2013-11-24
      • 2015-12-05
      相关资源
      最近更新 更多