[英]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.