事务一致性 与异常抛出
来源:互联网 发布:知乎提示浏览器版本低 编辑:程序博客网 时间:2024/05/17 04:52
通常 我们 利用 配置 service层 update,save 等方法名前缀 来达到事务。并将 存储修改 的 代码 放入 service 以 保持 事务的 完整性。
而在 实际 项目中 遇到 如图:
在代码执行 到 bonusService.save 操作时 已经 发生异常 但并未 抛出异常,尽管在 第一幅图第二行 throws exception ,但程序并未停止 ,并依然执行了 白色框中的代码,
导致了 功能错误
。
究其原因。一般类似空指针,数组越界等异常会被程序捕捉抛出。而对于程序事务中使用了乐观锁 导致 的异常 并未被程序 抛出 。
于是总结, 在service 中只 放 与事务 有关 的代码。 与事务 无关的 代码 放置于 controllor中。(注:在修改中首先将白色区域代码独立出来构造一个父方法。发现,在 service中 若子方法事务,而父方法不事务并调用子方法。则 程序将会 把 父子方法 同事务处理。即 结果 依然 会执行 白色区域代码)
阅读全文
0 0
- 事务一致性 与异常抛出
- auto_ptr与异常抛出
- try catch异常抛出与spring事务回滚策略相关
- try{} catch(Exception e){}异常抛出与Spring事务回滚策略
- try catch异常抛出与spring事务回滚策略相关
- 安全性检验与异常抛出
- Delphi 异常抛出与捕获
- NDK 异常检测与抛出
- C#抛出异常与获取异常
- OC抛出异常与自定义异常类
- JAVA捕获异常与抛出异常
- JavaScript 异常与捕获(抛出异常)
- spring异常抛出触发事务回滚策略导读
- spring 声明式事务配置,抛出runtimeException异常不回滚
- spring异常抛出触发事务回滚策略导读
- spring 声明式事务配置,主动抛出异常不回滚
- Spring异常抛出触发事务回滚策略
- 异常捕获不抛出,Spring事务无法回滚
- Shiro入门学习六
- hduoj 2007
- bzoj2599 [IOI2011]Race(定权值最短树上路径)
- 基于cubietruck的嵌入式系统移植
- linux下phpstudy如何使用
- 事务一致性 与异常抛出
- C语言中gets()和scanf()的区别
- “自顶向下,逐步求精”方法介绍
- 输入三个整数 用指针变量 从小到大排列
- iptables SNAT无效
- 聚合SDK开发思想
- 搞TabLayout搞出一个网易新闻的Tab
- Python 自动刷博客浏览量
- MCTF 被IDA支配的恐惧