我读到EJB2.x规范不支持嵌套事务。但从逻辑上考虑,我们可以从实际启动事务的另一个EJB方法调用具有REQUIRES_NEW txn属性的EJB方法,这不是有效的情况。如果有效,这就是所谓的嵌套事务。
如果我遗漏了什么,请告诉我。
发布于 2010-01-28 20:40:37
REQUIRES_NEW传播意味着:
创建一个新事务,如果存在当前事务,则挂起当前事务。
因此,事务不会嵌套-第一个事务被挂起,被分流开,然后启动一个新的、不相关的事务。
您实际上不需要嵌套事务本身,您只需确保每次通过事务边界时,都会继承现有事务(或启动一个新事务)。默认传播PROPAGATION_REQUIRED通常就足够好了。
有趣的是,JDBC 3.0确实引入了嵌套事务的概念,但是EBJ规范还没有跟上。
https://stackoverflow.com/questions/2154480
复制相似问题