事务的传播特性

事务的传播特性

REQUIRED:这种事务会依赖于调用它的外部事务,如果外部事物出现异常,如果没有被捕获,事务也会回滚,被捕获不会回滚。如果没有外部事物则运行在自己的事务内。

REQUIRES_NEW:这种事务完全和外界隔离,外部事物不会影响到当前事务。如果外部事务出现异常,该事务同样会执行不会回滚。但是如果该方法出现异常,会导致同一外部事物的REQUIRED级别的事务回滚(因此不算是完全隔离吧)。

SUPPORTS:如果有事务调用该级别的事务,那么该方法就会运行在外部事务当中。如果没有外部事物,否则他不会有事务。

NOT_SUPPORTS:当前方法不会应用在事务当中,如果有外部事务,将外部事物挂起。

MANDATORY:当前方法必须运行在事务内部否则抛出异常。

NEVER:当前方法不能运行在事务内部否则抛出异常。

NESTED:和REQUIRED的区别在于即使外部事务出现被捕获的异常依然会进行回滚。

注:上述效果都是在外部类调用的话是使用AOP,但是在类内调用的话只是最普通的调用不会走AOP

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值