spring事务传播级别

spring事务传播级别

  • required经常错的,需要原子性的,如果上下文没有事务就不理会了,只顾着自己,是最简单的的事务,如字面意思。如果上下文有事务就共享一个事务,可以采用Required。默认的。
  • supported不经常错的,同时不需要事务的可以使用supported。(少有的场景,建议采用not_supported代替,就是挂起上下文,以免影响性能。)
  • mandatory希望原子性,并且发现上下文先前没有事务会有异常告警。是一个很敏感的mandatory,完美主义者使用。
  • required_new特点和required一样要求必须有事务,如果上下文有事务不会共用,会挂起,相当于起了两个独立的事务。
  • not_supported如果上下文有事务就挂起上下文,没有就按事务执行,是有礼貌的高性能的无事务方法。
  • never是个粗暴的不需要事务的方法。
  • nested会创建两个事务,上下文事务的回滚会使子事务回滚一起,他和required_new不一样的特点,但是和required不同的是它回滚不会影响上下文事务,因为它和上下文不共享事务。

事务传播过程只有一个事务:required,mandatory,supported,not_supported

事务传播过程中涉及两个事务关系:required_new,nested

不需要事务:never

会爆异常:mandatory,never

会挂起上一个事务: required_new, not_supported
会回滚上一个事务:required,mandatory,supported,

有两个事务且会回滚子事务: nested.
有一个事务且会回滚子方法:supported,required,mandatory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值