繁体   English   中英

集装箱管理交易活动

[英]Activity of container managed transaction

让我将CMT与Stateless bean一起使用。 我在bean中有3种方法,其中2种具有TransactionAttributeType.REQUIRED 两种方法都从第三种方法调用。 如何检查交易何时进行? 我要检查

@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
public class MyBean
{

   public RetType methodA()
   {
      methodB();

      //.... is CMT active there?

      methodC();

   }

   @TransactionAttribute(TransactionAttributeType.REQUIRED)   
   public RetType methodB(){}

   @TransactionAttribute(TransactionAttributeType.REQUIRED)
   public RetType methodC(){}
}

TransactionAttributeType.REQUIRED属性是容器管理的事务Bean方法的默认属性,因此,即使您未对其进行注释, methodA也会在该方法启动后立即启动的事务中运行(除非您从另一个活动事务中调用该方法,这种情况下,该方法只需加入当前交易即可)。
当方法退出时的方法结束时,事务结束(再次,除非从另一个事务调用)。 除非使用TransactionAttributeType.REQUIRES_NEW注释,否则methodA调用的任何方法都将加入当前事务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM