关于spring管理事务问题

关于spring管理事务问题

欢迎使用Markdown编辑器

注意:前提一定是每个service都开启了事务,并且隔离级别为如果有事务就为同一个
问题描述:情景描述:service–a service–b service–c
共有三个服务,并且都开启事务,其中c方法中调用a、b。
情况一:c调用顺序为a-b,假如a中异常,并且自己进行捕获处理,那么不影响b的操作。a中操作将会回滚,但是b中操作会执行
情况二:c调用顺序为b-a,假如a中异常,并且自己进行捕获处理,那么不影响b的操作。a中操作将会回滚,但是b中操作会执行

情况三:a中抛出异常a中不做处理,b没有异常,c调用顺序为a-b,并用trycatch将ba包裹。结果,a、b都执行不成功,并抛出异常org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only
情况四:a中抛出异常在a中不做处理,b没有异常,c调用顺序为b-a,并用trycatch将ba包裹,捕获大的异常。结果,a、b都执行不成功,并抛出异常
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only

情况五:c调用顺序为b-a,假如a中异常,并且自己没有进行捕获处理 。其中刚在c中将a异常捕获,a中操作将会回滚,但是b中操作会执行
情况六:c调用顺序为a-b,假如a中异常,并且自己没有进行捕获处理 。其中刚在c中将a异常捕获,a中操作将会回滚,但是b中操作会执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值