gpt4 book ai didi

java - 异步 EJB 3.1 方法和事务

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:18:54 27 4
gpt4 key购买 nike

我使用 @Asynchronous 注释编写了一个小测试来理解 EJB3.1 中的异步行为。似乎是:

如果该方法与调用者存在于同一个bean中,

  1. 调用不再是异步的。
  2. 调用者事务被标记为回滚,如果异步方法中的事务被回滚;这可能是 1 的副作用。

但是,如果异步方法存在于另一个 bean 中,则行为是预期的,即调用是异步的并且调用者事务是独立的(异步方法具有事务的 REQUIRES_NEW 行为)。这让我感到困惑,因为为什么两种情况下的行为都不一样。有人可以澄清一下吗?

附言环境 EJB 3.1,JBoss 6

最佳答案

使用 this 关键字而不是使用 SessionContext#getBusinessObject(class) 调用方法会导致这种情况。 (差异解释为 here )

关于java - 异步 EJB 3.1 方法和事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7659679/

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