nevernam 2012-06-18 12:26
浏览 882
已采纳

spring 事务管理 手动回滚策略

如果我不用spring的事务代理机制,直接在service代码中进行事务的提交或者回滚处理,那么一般是这样的处理逻辑-->主要有2点:

1:事务流程中,某一节点的数据(正常返回)遇到某值时,进行回滚,执行结果中说明情况.
2:事务流程中,try catch 所有的代码-->保证遇到运行时异常,或者error的时候,进行回滚

现在要用spring的事务管理了,导致在处理提到的第一个情况的时候有个问题,不知道如何解决

就是spring所管理到的业务代码方法,必须要抛出指定异常,才可以回滚

那么,如果我在1中的那种情况,如何保证让service方法,既有返回值,又能回滚呢?

  • 写回答

5条回答 默认 最新

  • oyj7454103 2012-06-18 13:52
    关注

    [quote]就是spring所管理到的业务代码方法,必须要抛出指定异常,才可以回滚

    那么,如果我在1中的那种情况,如何保证让service方法,既有返回值,又能回滚呢? [/quote]

    可以自定义一个业务 异常,这个异常里面可以带 错误代码,即返回值,然后定义这个异常也需要回滚就好了!你在 action层面可以捕获到异常,并且处理

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误