zoukankan      html  css  js  c++  java
  • spring 事务控制 设置手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

     1 //假设这是一个service类的片段
     2 
     3 try{ 
     4     //出现异常
     5 } catch (Exception e) {
     6             e.printStackTrace();
     7            //设置手动回滚
     8             TransactionAspectSupport.currentTransactionStatus()
     9                     .setRollbackOnly();
    10         }
    11 //此时return语句能够执行
    12 return  xxx;

    如上:

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

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

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

  • 相关阅读:
    算法图解
    Cairo graphics tutorial
    远程对象调用
    异步和多线程的关系
    jQuery调用api
    GTK# tutorial
    DLT
    protobuf入门笔记
    PDO讲解
    数据库练习——分页查询
  • 原文地址:https://www.cnblogs.com/liuzhenlei/p/6777644.html
Copyright © 2011-2022 走看看