1 事务传播
事务传播即多个事务之间的传递。SpringBoot存在多个事务时,事务执行的先后顺序以及回滚需要进行配置,保证业务的正常执行,SpringBoot提供了事务传播管理功能。
2 枚举类
- SpringBoot2.4.5
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package org.springframework.transaction.annotation;
public enum Propagation {
REQUIRED(0),
SUPPORTS(1),
MANDATORY(2),
REQUIRES_NEW(3),
NOT_SUPPORTED(4),
NEVER(5),
NESTED(6);
private final int value;
private Propagation(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}
3 事务传播
序号 | 属性 | 描述 |
---|---|---|
1 | REQUIRED | 如果没有事务,则新建一个事务,如果已经存在事务,其他的事务则加入到已存在的事务中,可重入属性 |
2 | SUPPORTS | 支持当前事务,如果当前没有事务,则以非事务方式执行 |
3 | MANDATORY | 使用当前事务,如果当前不存在事务,抛出异常 |
4 | REQUIRED_NEW | 新建事务,如果存在事务,将运行的事务挂起 |
5 | NOT_SUPPORTED | 非事务方式执行,如果存在事务,挂起当前事务 |
6 | NEVER | 非事务方式运行,如果存在事务,则抛出异常 |
7 | NESTED | 如果存在事务,嵌套到当前事务内运行,如果没有事务,新建事务 |