通俗易懂的spring事务的传播机制讲解!
spring事务理解前提两个都是事务的方法,并且两个方法会进行调用,调用方统一使用required
举例有两个方法:
https://img2023.cnblogs.com/blog/2896443/202304/2896443-20230403162459656-1870950846.png
[*]required
如果当前上下文存在事务,被调用方则加入该调用方的事务,没有的话就新建(指单独被调用时)一个事务
[*]supports
支持事务,上下文中有事务,被调用方则加入该事务,单独被调用时则没有事务
[*]mandatory
必须有事务,上下文有事务,被调用方则加入该事务,单独调用时直接抛异常,因为这时候没有一个活动的事务
[*]requires_new
被调用方会单独开启事务,调用方存在事务则将调用方挂起来,两个事务互不相干
[*]not_supported
总是非事务的方式执行,调用方调用时会直接被挂起
[*]never
总是非事务的方式执行,调用方调用时会直接抛异常
[*]nested
嵌套子事务,外层影响内层,内层不影响外层,除非外层try-catch并在catch中向外抛出异常
原文:https://blog.csdn.net/weixin_39625809/article/details/80707695
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]