关于Spring事务传播行为的个人见解

目录:

  • Spring事务传播行为(转载)
  • 个人见解

Spring事务传播行为(转载)

转自:https://snailclimb.gitee.io/javaguide/#/docs/system-design/framework/spring/Spring%E4%BA%8B%E5%8A%A1%E6%80%BB%E7%BB%93?id=_331-%e4%ba%8b%e5%8a%a1%e4%bc%a0%e6%92%ad%e8%a1%8c%e4%b8%ba

个人见解

1、propagation_required: 需要、必要;儿子事务,没爸爸用自己的,有爸爸用爸爸的

  • 外部方法没有事务,则自己创建一个独立的事务
  • 外部方法创建事务,则内部方法与外部方法是同一个事务

2、propagation_new: 新的;领养的儿子事务,不停爸爸的话,都用自己的事务,自己有问题还会影响到爸爸

  • 不管外部方法也没有事务,自己都会创建一个独立的新事务
  • 外部事务异常不会回滚内部事务,内部事务异常会被外部事务捕捉到,并回滚事务。

3、propagation_nested: 嵌套;自己已经成家了,爸爸没来的时候自己就是爸爸,爸爸来了后自己就变成儿子了;当爸爸需要帮助时,自己会义不容辞的照顾,当自己有问题时,不会去麻烦爸爸和兄弟姐妹,而是自己处理掉

  • 外部方法没开启事务,则和required相同,自己创建一个独立的事务
  • 外部方法开启了事务,则自己为外部方法的子事务;外部主事务回滚,自己也会回滚,但自己发生问题时可单独回滚,不影响主事务和其它子事务。
原文地址:https://www.cnblogs.com/bzfsdr/p/14100036.html