spring 事务控制 设置手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

it2026-03-31  6

spring 事务控制 设置手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

 

//假设这是一个service类的片段

try{     //出现异常 } catch (Exception e) {             e.printStackTrace();            //设置手动回滚             TransactionAspectSupport.currentTransactionStatus()                     .setRollbackOnly();         } //此时return语句能够执行 return  xxx;

如上:

  当我们需要在事务控制的service层类中使用try catch 去捕获异常后,就会使事务控制失效,因为该类的异常并没有抛出,就不是触发事务管理机制。怎样才能即使用try catch去捕获异常,而又让出现异常后spring回滚呢,这里就要用到

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

完美解决问题。并且能够使该方法执行完。

 

最新回复(0)