当前位置:网站首页>@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实现最大努力通知消息,实现数据的最终一致性。
边栏推荐
- Share the newly released web application development framework based on blazor Technology
- ABP vNext microservice architecture detailed tutorial - distributed permission framework (Part 2)
- Basic knowledge of tuples
- speed or tempo in classical music
- Flex flexible layout
- MySQL winter vacation self-study 2022 11 (9)
- [groovy] string (string type variable definition | character type variable definition)
- Subversive cognition: what does SRE do?
- Web components series (VII) -- life cycle of custom components
- Google Chrome CSS will not update unless the cache is cleared - Google Chrome CSS doesn't update unless clear cache
猜你喜欢
Flume configuration 4 - customize mysqlsource
Redis source code analysis: redis cluster
Azkaban overview
Sqoop command
Mongodb common commands
A brief introduction to the behavior tree of unity AI
Why do some programmers change careers before they are 30?
[an Xun cup 2019] not file upload
Talk about the SQL server version of DTM sub transaction barrier function
Azkaban actual combat
随机推荐
Redis source code analysis: redis cluster
Kubernetes -- cluster expansion principle
Thread Basics
When sqlacodegen generates a model, how to solve the problem that the password contains special characters?
VM in-depth learning (XXV) -class file overview
Unity implements the code of the attacked white flash (including shader)
【PHP特性-变量覆盖】函数的使用不当、配置不当、代码逻辑漏洞
[positioning in JS]
v-if VS v-show 2.0
Logstash、Fluentd、Fluent Bit、Vector? How to choose the appropriate open source log collector
Kbp206-asemi rectifier bridge kbp206
[untitled]
51 independent key basic experiment
Nmap使用手册学习记录
JWT漏洞复现
[groovy] string (string splicing | multi line string)
[groovy] string (string injection function | asBoolean | execute | minus)
How about programmers' eyesight| Daily anecdotes
The architect started to write a HelloWorld
[Chongqing Guangdong education] 2777t green space planning reference questions of National Open University in autumn 2018