当前位置: 首页 > news >正文

RuoYi配置多数据源失效

RuoYi配置多数据源失效

  • 配置多数据源
  • 报错
  • 排查思路
  • 解决

配置多数据源

官方文档也有,csdn也很多,推荐
若依微服务中配置 MySQL + DM 多数据源
一步一步来操作,理论上就是配置好了

报错

遇到一个问题就是,在Service层顶上配置了数据源,数据库B,但是在某一个方法执行后报错:数据库A.表,不存在。

排查思路

思路仅仅是分享我的操作流程,不感兴趣直接最后结论。

1.注解给出完成数据库.表名
在不同数据源的实体类下添加注解,指出数据库.表

@Data
@TableName("数据库.t_app_user")
public class TAppUser {

观察报错,同一个服务器下的不同数据库,会有一个报错是说什么用户的操作权限不够(可以根据账户,确定此时用的数据源是哪个,同时一般此时数据源也是默认数据源)

  • 确定了默认数据源
  • 确定当前Service使用的数据源(切换源注解是否有效)

2.验证其他的数据源
使用其他数据源的services,操作是否能成功。
我的情况是在一个Service(注解使用库源B),一个方法中两次操作,前一次操作成功,后一次操作失败
两次操作都是需要使用数据源B,不管我是在Service、mapper、方法上添加数据源切换注解,后一次操作始终不成功。

  • 前一次成功,说明数据源配置、切换、使用没问题

3.观察日志
在这里插入图片描述
在进入一个Service时,由于直接切换数据源,会有切换日志,报错点就在最后紫色框子。
我的判断是在一个数据源B的Services1,写了一个方法,方法内有两个字方法进入了其他Service2、Services3。
前一次操作由于第一次操作,可以顺利。->Services1->切换->Services2->切换->正常使用
后一次操作需要上一次退回,再操作。->Services2->Services1->使用
在这里插入图片描述

解决

保证由一个Service1,调用其他源的Service2、Service3…,其他源的Service就只做自己源相关的操作;
不要在一个A源Service1下写一个方法,先去调用A源下其他Servcie2,再回到A源Service1(这一步会出错,会使用默认的数据源);可以参考排查思路三中的图片。

http://www.lryc.cn/news/594818.html

相关文章:

  • Laravel 系统版本查看及artisan管理员密码找回方法针对各个版本通用方法及原理-优雅草卓伊凡
  • 2025最新版虚幻引擎5(UE5)入门教程:前言——你的随身教程和学习笔记
  • 如何简洁高效的实现存在则更新,不存在则插入
  • HTML前端颜色渐变动画完整指南
  • TPS61194PWPRQ1适用于汽车照明低 EMI、高性能 4 通道 LED 驱动器TPS61194
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 主页布局实现
  • ppp实验
  • 如何在FastAPI中整合GraphQL的复杂度与限流?
  • QT跨平台应用程序开发框架(11)—— Qt系统相关
  • 了解 ReAct 框架:语言模型中推理与行动的协同
  • 论文Review Lidar 3DGS Splat-LOAM: Gaussian Splatting LiDAR Odometry and Mapping
  • 无人机浆叶安装顺序
  • 客流分析核心算法 trajectory_event_analyzer数据结构
  • 7.11.B树
  • 遇到偶现Bug(难以复现)怎么处理?
  • 数据结构:反转字符串(Reversing a String)
  • 无人机避障雷达模式运行方式
  • PHP面向对象高级特性:魔术方法、对象迭代器与设计模式应用
  • dolphinscheduler中sqoop无法执行
  • 三款适合户外探险、应急救援的智能三防手机,各有各的优势
  • SQLite以及Room框架的学习:用SQLite给新闻app加上更完善的登录注册功能
  • 深入浅出:从最小核心到完整架构,全面解析5G用户面协议栈
  • Mac上安装Claude Code的步骤
  • RANsemi 推出适用于 Split 7.2 Open RAN 无线电单元的即插即用基带板
  • Q10900H6迷你电脑:集成双10G+四2.5G网口,支持多系统网络部署
  • RNS805 是针对 O-RAN 联盟兼容 Cat A O-RU 优化的 SoC,符合 3GPP 5G/4G 标准。
  • 【Android】交叉编译faiss库 | 问题解决
  • 区块链之以太坊合约开发工具——Metamask钱包和Remix IDE
  • 部署Zabbix企业级分布式监控
  • 【Elasticsearch】settings