事务的7种传播行为

  • Post author:
  • Post category:其他




一:什么是事务的传播行为



事务的传播行为是指:当一个事务方法被另一个事务方法调用的时候,该如何运行,是自己创建一个新的事务还是说跟随别人的事务方法还是抛出异常。Spring框架为此提供了7种方式。也叫做事务的7种传播行为。



二:事务的7种传播行为都有哪些




{required




(要求)




、supports




(支持)




、mandatory




(强制)




、required_new




(新要求)




、not supported




(不支持)




、never




(从不)




、nested




(嵌套)




}



这几个翻译很重要!!!                do you 知道吗???



PROPAGATION_REQUIRED:


如果当前有事务,那就加入到事务中去,如果当前没有事务,那就创建一个新的事务。同时这也是spring的默认事务传播行为。


(有就加入,没有就自己新建)


PROPAGATION_SUPPORTS:

支持当前事务,如果当前存在事务那就加入,如果当前不存在事务,那就以非事务的方式运行。


(有就加入,没有就不管)


PROPAGATION_MANDATORY:

强制添加事务,如果当前有事务那就添加到事务中去,如果当前没有事务那就抛出异常。


(有就加入,没有就抛出异常,必须要有事务)


PROPAGATION_REQUIRES_NEW:

创建新的事务,无论当前有没有事务,都创建一个新的事务。


(不管有没有,都新建一个事务)


PROPAGATION_NOT_SUPPORTED:

不支持事务,以非事务的方式执行,如果当前存在事务那就将事务挂起。


(不支持事务,如果有事务,那就给你挂起。自己就以非事务的方式执行)


PROPAGATION_NEVER:

坚决没有事务,以非事务的方式执行,如果当前存在事务那就抛出异常。


(坚决不要事务,有就抛出异常)


PROPAGATION_NESTED:

如果当前存在事务,那就嵌套到在当前事务内执行,如果当前没有事务那就按照

PROPAGATION_REQUIRED执行。



(当前有事务,就嵌套着执行,没有就看外层有没有事务,如果有就加入,外层也没有就新建)


下课!!!!!!!



版权声明:本文为weixin_50989637原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。