事务传播机制

 

一.目录

前言

内容

结语

二. 前言

事务管理器可以设置propagation事务传播机制的属性

三.内容

propagation事务传播机制

  1. REQUIRED:默认值(通常这个已经满足大多数需求)。表示如果存在一个事务,则支持当前事务;如果当前没有事务,则开启一个新的事务

  2. SUPPOSRTS:表示如果存在一个事务,则支持当前事务;如果当前没有事务,则按非事务方式执行

  3. MANDATORY:表示如果存在一个事务,则支持当前事务;如果当前没有一个活动的事务,则抛出异常

  4. REQUIRES_NEW:表示总是开启一个新的事务;如果一个事务已经存在,则将这个存在的事务挂起,开启新事务执行该方法

  5. NOT_SUPPOSRTS:表示总是以非事务方式执行,如果一个事务已经存在,则将这个存在的事物挂起,然后执行该方法

  6. NEVER:表示总是以非事务方式执行,如果当前存在一个活动的事务,则抛出异常

  7. NESTED:表示如果当前存在一个活动的事务,则创建一个事务作为当前事务的嵌套事务运行。如果没有当前事务,该取值与EQUIRED相同

isolation事务隔离等级

当前事务和其它事务的隔离程序,在并发的情况下需要考虑它的设置

  1. DEFAULT:默认值,表示使用数据库默认的事务隔离级别

  2. READ_UNCOMMITTED:未提交读

  3. READ_COMMITTED:提交读

  4. REPEATABLE_READ:可重复读

  5. SERIALIZABLE:串行读

timeout

事务超时时间。允许事务运行的最长时间,以s为单位,超过设置时间自动回滚,需要底层的实现支持,默认为-1,不超时。

read-only

事务是否为可读,默认为false。对于只执行查询功能的事务,把它设置为true,可以提高事务的处理性能

rollback-for

设置能够触发回滚的异常类型。Spring默认只在抛出Runtime Exception时才标识事务回滚。可以通过全限定类名自定义指定需要回滚的事务异常,多个类名用英文逗号隔开

no-rollback-for

设定不触发回滚的异常类型,Spring默认checked Exception不会触发事务回滚。可以通过全限定类名自定义指定不回滚的事务异常,多个类名用英文逗号隔开

四.结语

其实现在基本使用spring boot,基本知识还是很重要的!

https://mp.weixin.qq.com/s?__biz=MzAxMjA1MjUzNQ==&mid=2247483731&idx=1&sn=a30820a472ce8cef786a70a129f6f539&chksm=9bb6f00bacc1791d1e17ddfbb0860b1cec22b36e58bbc3e80c71037dac4266305f2842f76a61&token=1168137568&lang=zh_CN#rd

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值