【Spring】为什么有些公司禁止使用@Transactional声明式事务?

312 篇文章 448 订阅 ¥39.90 ¥99.00

在这里插入图片描述

1.概述

有些公司可能禁止在代码中使用@Transactional声明式事务主要是出于以下考虑:

  1. 长事务问题:如果一个方法中存在较多耗时的操作,很容易引发长事务的问题,长事务会带来锁的竞争和性能的消耗,同时也会导致数据库连接池耗尽,影响程序的正常执行。

  2. 嵌套调用混乱:如果方法存在嵌套调用,子方法也加了@Transactional声明式事务,这时候就出现了事务嵌套的行为,容易引发事务的混乱,造成程序结构运行异常

  3. @Transactional声明式事务是将事务控制逻辑放在注解里面,如果项目中的复杂度增加,事务的控制可能变的更加复杂。导致代码的可读性和维护性下降。

  4. 统一事务管理:在大型企业应用中,往往会使用分布式事务管理器(如XA事务)来管理跨多个数据库、消息队列等资源的事务。这要求开发团队使用统一的事务管理框架来实现事务的一致性和隔离性,而不是依赖@Transactional注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值