Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 容器管理事务的活动_Java_Jakarta Ee_Transactions_Ejb 3.0 - Fatal编程技术网

Java 容器管理事务的活动

Java 容器管理事务的活动,java,jakarta-ee,transactions,ejb-3.0,Java,Jakarta Ee,Transactions,Ejb 3.0,让我们用CMT实现无状态bean。我在bean中有3个方法,2个带有TransactionAttributeType.REQUIRED。这两个方法都是从第三个方法调用的。如何检查事务何时处于活动状态?我要支票 @Stateless @TransactionManagement(TransactionManagementType.CONTAINER) public class MyBean { public RetType methodA() { methodB();

让我们用CMT实现
无状态
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
也会在方法启动后立即启动的事务中运行(除非您从另一个活动事务调用该方法,否则在这种情况下,该方法只需加入当前事务即可)。

当方法onmethod退出时,事务结束(除非从另一个事务中调用)。由
methodA
调用的任何方法,除非用
TransactionaAttribute Type注释。REQUIRES\u NEW
,都会加入当前事务。

TransactionaAttribute.REQUIRED
属性是容器管理的事务bean方法的默认属性,因此即使没有注释它,
methodA
也会以tr运行方法启动后立即启动的操作(除非您从另一个活动事务调用该方法,在这种情况下,该方法只是加入当前事务)。
当方法退出时,事务结束(同样,除非从另一个事务调用)。由
methodA
调用的任何方法,除非用
TransactionaAttribute Type注释。需要\u NEW
,都将加入当前事务