【问题标题】:javax @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) with condition?javax @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 有条件吗?
【发布时间】:2015-10-26 16:09:25
【问题描述】:

我想知道是否可以在事务管理中设置一个条件,例如拥有一个带有 TransactionAttributeType.REQUIRED 的服务(类或方法),如果该服务由定义的服务/方法调用,我们将创建一个新事务。

根据方法/类调用的一种条件?

谢谢!

【问题讨论】:

  • 您不能将 @Transaction 与 EJB3.x 一起使用。要么您的容器管理您的 EJB 事务,要么您可以通过注入 UserTransaction(当 TransactionManagement 设置为 TransactionManagementType.BEAN 时)。该注释将与 CDI 托管 bean 一起使用。
  • 我已经编辑了这个问题,我说的是transactionAttribute。
  • 不是以任何标准方式。这意味着您可能正在尝试做一些奇怪的事情。

标签: java hibernate transactions ejb required


【解决方案1】:

不,这是不可能的。您可以做的是将您的主要服务保留为REQUIRED,并为您的特殊情况创建一个新的包装器/外观服务REQUIRES_NEW。然后任何必须有新事务的服务都会调用这个新的包装服务。

【讨论】:

    猜你喜欢
    • 2013-11-24
    • 2015-09-07
    • 2012-07-21
    • 2016-11-18
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多