如果DStateless.method4()
或BSession.method2()
发生错误,以下情况会发生什么?我希望CStateless.method3()
和DStateless.method4()
分享相同的交易。
是否允许在 EJB 和 CDI 中进行此类调用?
ASession.method1() (calls)-> CStateless.method3() -> BSession.method2() -> DStateless.method4();
@SessionScoped
class ASession {
method1();
}
@SessionScoped
class BSession {
method2();
}
@Stateless
class CStateless {
method3();
}
@Stateless
class DStateless {
method4();
}
答案 0 :(得分:0)
是的,这是允许的。
假设method1()
未在事务中运行,则事务边界将在method3()
附近。 method4()
将使用相同的交易。