锁定老帖子 主题:解惑 spring 嵌套事务
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-25
按照 Juergen 的定义, 如果 parent.commit() 失败, 那么整个外部事务回滚, 所有嵌套事务也都回滚, 所以 1, 2, 3 都不会被修改
|
|
返回顶楼 | |
发表时间:2006-11-25
Feiing 写道 按照 Juergen 的定义, 如果 parent.commit() 失败, 那么整个外部事务回滚, 所有嵌套事务也都回滚, 所以 1, 2, 3 都不会被修改
我的问题是,子事务已经提交成功的前提下,提交父事务失败的情况是否包含由子事务操作的资源所引致的失败 |
|
返回顶楼 | |
发表时间:2006-11-25
当然, 就算所有嵌套事务都已经成功, 外部事务还是可能因为嵌套事务的执行结果而导致失败, 此时整个事务都要 roll back ,这也是嵌套事务的重要特性之一, 即外部事务和嵌套事务互相影响
|
|
返回顶楼 | |
发表时间:2006-11-25
分析的太好了,高明白了以前的很多问题,谢谢。
|
|
返回顶楼 | |
发表时间:2006-11-25
谢谢飞铃的辛苦劳作,期待好文
|
|
返回顶楼 | |
发表时间:2006-11-25
分析的很不错!强烈顶!!
|
|
返回顶楼 | |
发表时间:2006-11-26
已经很久没看见这样言之有物的好文了,的确收益良多。特出来冒个泡,感谢分享!
|
|
返回顶楼 | |
发表时间:2006-11-26
绝对OK的文章!
|
|
返回顶楼 | |
发表时间:2006-11-27
Feiing 写道 当然, 就算所有嵌套事务都已经成功, 外部事务还是可能因为嵌套事务的执行结果而导致失败, 此时整个事务都要 roll back ,这也是嵌套事务的重要特性之一, 即外部事务和嵌套事务互相影响
反过来说,所有嵌套事务都执行成功,外部事务也执行成功。那么发部事务要发送commit请求给各个嵌套事务,以同时提交,是这个意思吗? 那么对于数据库来说,它相当于在瞬间处理多个事务的commit,在中间的任何一步也是有可能出错的。那这个时候整个事务的回滚如何进行呢? |
|
返回顶楼 | |
发表时间:2006-11-27
嗯 写的很棒 原来这方面的东西我只是在Oracle的资料上看到的
在使用spring的时候没有注意到 没想到楼主解释的这么详尽 |
|
返回顶楼 | |