Spring事务传播机制

 我来答
抛下思念17
2022-07-18 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6188
采纳率:99%
帮助的人:33.7万
展开全部

事务是逻辑处理原 性的保证 段,通过使 事务控制,可以极 地避免出现逻辑处理失败导致的脏数据等问题。

事务 传播级别 定义了事务的控制范围

如果上下 中已经存在事务,那么就加 到事务中执 ,如果当前上下 中不存在事务,则新建事务执 。

若B方法抛出异常,A方法进行捕获,A会抛出异常,因为C2标志回滚,C1标志提交,产生冲突。

若B方法抛出异常,B方法内部捕获,A、B都不会回滚。

若A或B抛出异常,但没有捕获,则A、B都回滚。

A、B可操作同一行记录,因为处在同一事务中。

该级别的事务要求上下 中必须要存在事务,否则就会抛出异常!

能有效地控制上下 调 代码遗漏添加事务控制

如 段代码不能单独被调 执 ,但是 旦被调 ,就必须有事务包含的情况,就可以使 这个传播级别。

每次都会新建 个事务,并且同时将上下 中的事务挂起,执 当前新建事务完成以后,上下 事务恢复再执 。

若B方法抛出异常,A方法进行捕获,B方法回滚,A方法不受B异常影响。

若B方法抛出异常,B方法进行捕获,A、B都不会回滚。

若A方法抛出异常,不会影响B正常执行。

若B方法抛出异常,A、B方法都没有处理,则A、B都会回滚。

A、B不可操作同一条记录,因为处于不同事务中,会产生死锁。

如果上下 存在事务,则 持事务加 事务,如果没有事务,则使 事务的 式执 。

通常是 来处理那些并 原 性的 核 业务逻辑操作 应 场景较少

若当前上下 中存在事务,则挂起事务,执 当前逻辑,结束后恢复上下 的事务。
可以将事务范围尽可能地缩 ,建议优先使用代码隔离的方式进行
个事务越 ,它存在的 险也就越多

要求上下 中不能存在事务, 旦有事务,就抛出runtime异

如果当前存在事务,则嵌套(savepoint)在当前事务中执行。如果当前没有事务,则新建一个事务,类似REQUIRE_NEW。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云创
2023-07-25 广告
不同公司提供的服务不一样,价格也都不一样。如果想了解更多详细信息,可以咨询下北京磐安公司。北京磐安公司是一家专业从事高新软件的技术公司,公司致力于向企业客户提供一站式企业级软件采购、企业信息化基础架构、信息安全、数字化设计和信息技术教育培训... 点击进入详情页
本回答由云创提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式