gpt4 book ai didi

java - Java EE 拦截器是否参与 EJB 的容器管理事务

转载 作者:行者123 更新时间:2023-12-04 04:42:14 32 4
gpt4 key购买 nike

不知何故,在通常的 Java EE 文档资源中似乎缺少这条信息:

除非有外部事务处于 Activity 状态,否则容器在使用容器管理的事务调用 EJB 的业务方法时会启动一个新事务,如果该业务方法被分配了需要事务的事务属性(例如 TransactionAttributeType.REQUIRED )。

现在,如果这个方法调用被一个方法拦截器拦截了

@AroundInvoke
public Object onMethodCall(InvocationContext ctx) throws Exception
{
doSomethingBefore();
ctx.proceed();
doSomethingAfterwards();
}

请问方法 doSomethingBefore()doSomethingAfter()在这个新的事务上下文中被调用,或者事务将被限制为调用 ctx.proceed() ?

最佳答案

来自 @AroundIvoke 的 Javadoc :

AroundInvoke method invocations occur within the same transaction and security context as the method on which they are interposing.

关于java - Java EE 拦截器是否参与 EJB 的容器管理事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18720485/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com