请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

链式事务出错情况处理

老师,以DB-DB为例,链式事务让两个事务连续提交可以降低出现不一致的概率。但是仍然有可能出现最后一步出错,倒数第二步已提交无法回滚的情况。那么如果出现这种情况一般怎么处理?如何补偿?


正在回答

1回答

像这种情况,是不会有自动补偿或重试机制的,只能自己处理。然后,我们现在都是用spring data或mybatis,hibernate之类的框架,帮我们隐藏很多数据库操作的细节,所以要想在出错的时候自己再实现一些补偿或回滚的话,又会破坏很多地方,又会非常复杂。
所以,可能最容易的方式就是在全局处理错误的地方,把错误记下来,如果能从异常信息里获得更多信息,如出错的数据库和表,知道是什么方法导致出错,就能通过另外的程序、或人工进行回滚或补偿。
这需要注意的是,触发这个错误是比较麻烦的,想通过异常信息就定位错误也需要简洁良好的设计。还有,异常处理方法一定要做好冥等性。

2 回复 有任何疑惑可以回复我~
  • 提问者 慕无忌918605 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-01-13 16:24:47
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号