Java 容器管理事务的活动
让我们用CMT实现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();
无状态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
,都将加入当前事务