事务传播两个事务都用trycatch,那抛出异常还会回滚么
时间: 2023-07-12 18:56:29 浏览: 123
浅谈java中异常抛出后代码是否会继续执行
5星 · 资源好评率100%
如果在事务传播过程中的每个事务中都有 try-catch 块,那么如果其中一个事务抛出了异常并被捕获,那么该事务会回滚,而其他事务也会回滚,因为它们都处于同一个事务上下文中。这是因为在 Spring 中,异常会沿着调用链向上抛出,直到被捕获或者导致事务回滚。如果异常被捕获,则事务会回滚,否则事务会提交。因此,如果你想要回滚事务,你需要在 catch 块中重新抛出异常,让其继续向上抛出,直到被事务管理器捕获并回滚整个事务。
阅读全文