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 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件