Spring事务中require_new和嵌套传播之间的区别

我无法理解PROPAGATION_REQUIRES_NEWPROPAGATION_NESTED传播策略之间的行为差​​异。在我看来,在这两种情况下,当前过程都是回滚的,而不是整个事务。有什么线索吗?

回答:

看到此链接:PROPAGATION_NESTED与PROPAGATION_REQUIRES_NEW?Juergen

Hoeller对此进行了很好的解释。- 春季高峰论坛是完全脱机SICE 2019 2月28日,但你可以在下面的报价阅读文章的相关部分

PROPAGATION_REQUIRES_NEW为给定范围启动一个新的,独立的“内部”交易。此事务将完全独立于外部事务进行提交或回滚,具有自己的隔离范围,自己的一组锁等。外部事务将在内部事务的开始处挂起,并在内部事务具有完成。…

另一方面,PROPAGATION_NESTED启动“嵌套”事务,这是现有事务的真实子事务。将会发生的事情是,在嵌套事务开始时将获取一个保存点。如果嵌套事务失败,我们将回滚到该保存点。嵌套事务是外部事务的一部分,因此它将仅在外部事务的结尾提交。…

以上是 Spring事务中require_new和嵌套传播之间的区别 的全部内容, 来源链接: utcz.com/qa/425271.html

回到顶部