当前位置:网站首页>@Transactional 注解导致跨库查询失效的问题

@Transactional 注解导致跨库查询失效的问题

2022-07-05 03:35:00 Java Punk

相关文章:

@Transactional 注解的失效场景,这个问题见过太多的人栽跟头,一篇刨根问底,让面试官都闭嘴_Java Punk的博客-CSDN博客通过本篇的学习,你将掌握大概【6种】@Transactional 的失效场景,并且能够明白各自的失效原理,把源码刨到祖坟上。https://blog.csdn.net/weixin_44259720/article/details/110181822?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165655820616782395348213%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165655820616782395348213&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-4-110181822-null-null.nonecase&utm_term=%40Transactional&spm=1018.2226.3001.4450@Transactional 注解参数详解,以及注解的使用特性说明(典藏版)_Java Punk的博客-CSDN博客_transactional注解参数通过本篇学习,你将加深对@Transactional 注解以及所有的属性的理解,还可以学习到@Transactional 注解常见的失效场景【文章最后】。https://blog.csdn.net/weixin_44259720/article/details/110138972?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165655820616782395348213%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165655820616782395348213&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-110138972-null-null.nonecase&utm_term=%40Transactional&spm=1018.2226.3001.4450如果有需要,上面的相关文章请拿走不谢。


背景

开发中遇到的,记录一下问题。

建议在开发中一个服务连接一个数据库,来实现业务型的微服务配置,在RestFull层进行服务的业务融合。但是,前几天出现了一个特例,需要在一个服务中关联多个数据库来完成查询(因为好几个数据库本身还没有自己的服务,没有对外HSF接口)。

在这样的配置下,难免出现一个接口中查询多库,并且需要修改数据的情况。

问题

由于在接口上增加了@Transactional 注解,本意是希望实现事务管理,实际上并没有实现,反而造成了数据库切换时候失败了(master - > slave 失败),最终导致数据查询失败。

解决办法

需要使用跨库解决方案,建议跨库事务中间件,消息中间表,或者利用MQ实现最大努力通知消息,实现数据的最终一致性。


原网站

版权声明
本文为[Java Punk]所创,转载请带上原文链接,感谢
https://jiming.blog.csdn.net/article/details/125535109