Spring7种事务的传播行为

传播定义

单个个体不存在传播行为
至少两个个体才存在传播行为

ServerA{
	void methodA(){
		ServerB.methodB();
	}
}

7种传播行为

按照自己理解,分为以下几类

分类 事务 解释
总是以有事务方式运行 PROPAGATION_REQUIRED 外层有事务加入外层事务,外层没事务新建一个事务
总是以有事务方式运行 PROPAGATION_MANDATORY 外层有事务加入事务,外层没事务抛出异常
总是以非事务方式运行 PROPAGATION_NOT_SUPPORTED 外层有事务挂起外层事务,以非事务运行
总是以非事务方式运行 PROPAGATION_NEVER 外层有事务,抛出异常
跟随外层事务状态 PROPAGATION_SUPPORTS 外层有事务加入外层事务,外层没事务以非事务运行
独立事务 PROPAGATION_REQUIRES_NEW 不管外层有没有事务,都新建自身独立事务,内外层事务回滚提交操作相互不影响,外层可以看内层的事务状态自行决定外层事务是否回滚
父子事务 PROPAGATION_NESTED 不管外层有没有事务,都新建自身独立事务,内层事务回滚提交不会影响外层事务,外层事务回滚提交会直接影响到内层事务
上一篇:swift语言混编--语言交互的接口


下一篇:D - Dice Game (BFS)