spring的事务传播特性,spring事务传播行为有哪些
00-1010一、什么是交易的沟通行为二。交易的沟通行为有哪些?
00-1010什么是事务传播行为?听起来很高端,其实很简单。如果是传播,那么至少有两件事才能传播。单体不存在传播这种行为。事务传播行为是当多个声明的事务的方法互相调用时,这个事务应该如何传递?
如上图:s methodA()调用methodB(),那么两个方法都显示事务已经启动,那么methodB()是启动一个新的事务,还是在methodA()的事务中继续执行,就决定了所谓的事务传播。
目录
Spring中定义了七种事务的传播行为,完整版的传播行为如下:
REQUIRED(默认):是Spring中默认的事务传播行为,即新的当前事务将被添加到当前事务中执行。如果没有事务,就会创建一个事务REQUIRE_NEW:不管有没有事务,都会启动一个新的事务来执行。新旧事务相互独立,外部事务抛出异常。不会影响内部交易的正常提交。NESTED:如果有当前事务,将嵌套在当前事务中执行。如果没有当前事务,将创建一个新事务。像REQUIRE_NEW,SUPPORTS:这样的传播行为,意味着支持当前事务。如果没有当前事务,它将以非事务方式执行。NOT_SUPPORT:表示以非事务方式运行。如果有当前事务,将需要它。强制:这是一个强制的事务执行。如果当前没有事务,抛出异常NEVER:意味着非事务性执行。如果目前有事务,抛出异常Spring的事务传播级别一般不需要定义,需要默认,除非在嵌套事务的情况下,我们需要注意。
关于Spring transactions的七种传播行为的这篇文章到此结束。有关Spring事务传播行为的更多信息,请搜索Popular IT以前的文章或继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。