你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Spring7种事务的传播行为

2021/12/28 19:59:27

传播定义

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

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

7种传播行为

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

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