zoukankan      html  css  js  c++  java
  • UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only解决办法

    引发原因:当前类中使用@Transactional注解,当前类中的一个方法内的try catch内调用了来自两个服务类的中的两个方法,

    方法1正常运行,但是方法2抛出异常,此时因为当前类中有@Transactional注解,所以方法1也需要回滚,但是两个方法都同在

    一个try catch 内,所以也无法回滚,这时抛出异常UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only。

    解决办法:用另外一个类且有@Transactional注解,将两个方法封装成同一个方法3,此时两个方法在同一个事物中,再调用方法3时,方法内其中一个方法

    抛出异常,另一个方法也能够正常回滚。

    示意图如下:

     

  • 相关阅读:
    用CSS开启硬件加速来提高网站性能
    vim中替换内容
    alias vi=vim
    PHP 多进程初识
    端口的查看
    PHP三种终止脚本执行:return,die,exit
    2021.3.14(每周总结)
    2021.3.13
    2021.3.12
    2021.3.11
  • 原文地址:https://www.cnblogs.com/max1995/p/15426882.html
Copyright © 2011-2022 走看看