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条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题