J2EE 1.4中的嵌套事务支持

时间:2010-01-28 12:35:48

标签: java java-ee transactions ejb

我读到EJB 2.x规范不支持嵌套事务。 但逻辑上认为我们可以从另一个实际启动事务的EJB方法调用具有REQUIRES_NEW txn属性的EJB方法 这不是一个有效的案例。如果有效则不是所谓的嵌套事务。

如果我在这里丢失任何东西,请指出我。

1 个答案:

答案 0 :(得分:1)

REQUIRES_NEW传播意味着:

  

创建一个新事务,暂停   当前交易(如果存在)。

因此,交易不会嵌套 - 第一个交易暂停,分流,并启动一个新的,无关的交易。

您不需要自己嵌套事务,只需确保每次通过事务边界时,都会继承现有事务(或启动新事务)。默认传播PROPAGATION_REQUIRED通常足够好。

有趣的是,JDBC 3.0确实引入了嵌套事务的概念,但EBJ规范还没有赶上。