我无法理解之间的行为差异PROPAGATION_REQUIRES_NEW
and PROPAGATION_NESTED
传播政策。在我看来,在这两种情况下,当前进程都被回滚,但不是整个事务。有什么线索吗?
请参阅此链接:PROPAGATION_NESTED 与 PROPAGATION_REQUIRES_NEW? http://forum.springsource.org/archive/index.php/t-16594.htmlJuergen Hoeller 对此解释得非常好。 --Spring源码论坛自2019年2月28日起完全离线,但您可以在下面的引用中阅读文章的相关部分
PROPAGATION_REQUIRES_NEW 启动一个新的、独立的“内部”事务
对于给定的范围。该事务将被提交或回滚
完全独立于外部交易,拥有自己的
隔离范围、自己的一组锁等。外部事务将
在内层开始时暂停,并在内层开始时恢复
内一已完成。 ...
另一方面,PROPAGATION_NESTED 启动“嵌套”事务,
这是现有交易的真正子交易。会发生什么
是在嵌套的开始处获取一个保存点
交易。 Í如果嵌套事务失败,我们将回滚到
那个保存点。嵌套事务是外部事务的一部分
事务,因此它只会在外部事务结束时提交
交易。 ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)