- 什么是传播性
- 传播属性有哪些
- 传播性一般使用
- 使用不当导致的问题举例
概念:传播性描述了 一个事务加持方法 调用 另外一个事务加持方法 的时候,就有了传播性。
规范中定义了7种传播规则
- 遵循调用方法事务
* require (默认)
* support
* mandaory - 不遵循调用方法事务
* require-new
* not-support
* never - 嵌套
* nested 存在两个事务.跟require-new有部分交集(是他的一种情况)
一般的,使用默认就好了,默认就是required:遵循调用方法事务,如果调用方法有事务,就使用它的事务,如果调用方法没有事务,就自己创建事务。
问题举例:
嵌套事务(第4种(require_new)或者可以说是第七种(nested))在子事务发生异常时,捕获或不捕获,两个事务是回滚还是提交(只要一个事务哦)
* 父事务捕获异常
* 都提交了
* 父事务不捕获异常
* 都回滚了
注意:文章中描述的情景,只有一个事务,没有两个事务,注意注意。
文章参考: