标签:事务控制 单例 ring stack ace 设置 事物 try nbsp
简单例子
//假设这是一个service类的片段 try{ //出现异常 } catch (Exception e) { e.printStackTrace(); //设置手动回滚 TransactionAspectSupport.currentTransactionStatus() .setRollbackOnly(); } //此时return语句能够执行 return xxx;
重点:当我们需要在事务控制的service层类中使用try catch 去捕获异常后,就会使事务控制失效,因为该类的异常并没有抛出,就不是触发事务管理机制。怎样才能即使用try catch去捕获异常,而又让出现异常后spring回滚呢,这里就要用到TransactionAspectSupport类进行事务回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
标签:事务控制 单例 ring stack ace 设置 事物 try nbsp
原文地址:https://www.cnblogs.com/hzb462606/p/11376425.html