当前位置:网站首页>@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实现最大努力通知消息,实现数据的最终一致性。
边栏推荐
- Thread Basics
- MySQL winter vacation self-study 2022 11 (9)
- Kubernetes -- cluster expansion principle
- 040. (2.9) relieved
- 线程基础知识
- Pat grade a 1119 pre- and post order traversals (30 points)
- Nmap使用手册学习记录
- Ask, does this ADB MySQL support sqlserver?
- Anti debugging (basic principles of debugger Design & NT NP and other anti debugging principles)
- Quick start of UI component development of phantom engine [umg/slate]
猜你喜欢
Why do some programmers change careers before they are 30?
[2022 repair version] community scanning code into group activity code to drain the complete operation source code / connect the contract free payment interface / promote the normal binding of subordi
JWT漏洞复现
Azkaban overview
Logstash、Fluentd、Fluent Bit、Vector? How to choose the appropriate open source log collector
[wp]bmzclub几道题的writeup
How to learn to get the embedding matrix e # yyds dry goods inventory #
About MySQL database connection exceptions
Clickhouse物化视图
[groovy] loop control (number injection function implements loop | times function | upto function | downto function | step function | closure can be written outside as the final parameter)
随机推荐
【web源码-代码审计方法】审计技巧及审计工具
Clickhouse同步mysql(基于物化引擎)
English essential vocabulary 3400
[punch in questions] integrated daily 5-question sharing (phase III)
Smart pointer shared_ PTR and weak_ Difference of PTR
[software reverse - basic knowledge] analysis method, assembly instruction architecture
How to learn to get the embedding matrix e # yyds dry goods inventory #
Multi person online anonymous chat room / private chat room source code / support the creation of multiple chat rooms at the same time
Mongodb common commands
Some enterprise interview questions of unity interview
v-if VS v-show 2.0
【web审计-源码泄露】获取源码方法,利用工具
[wp]bmzclub几道题的writeup
[positioning in JS]
Talk about the SQL server version of DTM sub transaction barrier function
Monitoring web performance with performance
Accuracy problem and solution of BigDecimal
Kubernetes - identity and authority authentication
Talk about the SQL server version of DTM sub transaction barrier function
Sqoop command