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


 

 

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

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

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

=---------------------------

String isShipments = tOrderMapperExt.getGoodsNotdeliveryById(request.getGoodsId());
if(isShipments!= null){ //该城市是否发货
List<String> stringList = ResolverUtil.StringToList(isShipments);
if(stringList.contains(request.getCityId())){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
throw new SystemRuntimeException("商品城市不发货请选择其他地址行下", HttpStatus.OK);
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM