我读到EJB 2.x规范不支持嵌套事务。 但逻辑上认为我们可以从另一个实际启动事务的EJB方法调用具有REQUIRES_NEW txn属性的EJB方法 这不是一个有效的案例。如果有效则不是所谓的嵌套事务。
如果我在这里丢失任何东西,请指出我。
答案 0 :(得分:1)
REQUIRES_NEW
传播意味着:
创建一个新事务,暂停 当前交易(如果存在)。
因此,交易不会嵌套 - 第一个交易暂停,分流,并启动一个新的,无关的交易。
您不需要自己嵌套事务,只需确保每次通过事务边界时,都会继承现有事务(或启动新事务)。默认传播PROPAGATION_REQUIRED
通常足够好。
有趣的是,JDBC 3.0确实引入了嵌套事务的概念,但EBJ规范还没有赶上。