benyuanone 2018-04-12 18:39 采纳率: 0%
浏览 2836
已结题

spring动态切换数据源时什么时候调用的AbstractRoutingDataSource

最近有spring配置多数据源,中间用了aop来完成动态的切换,发现一些地方不是很明白,在AbstractRoutingDataSource这个类中有determineCurrentLookupKey的方法(获取数据源名称),我写的是在controller层调用设置数据源名的方法,结果在调用有一个接口是先设置数据源名然后在调用determineCurrentLookupKey,再去调用service方法。(前面这个正常)但另外一个接口是先determineCurrentLookupKey再执行设置数据源名的方法,,这不是有第二次调用的时候设置数据源才生效了嘛,感觉很迷茫。。。不知道Spring什么时候去调用的determineCurrentLookupKey
恳请各位大神解释一下,谢谢
一个接口执行顺序:
图片说明
另外一个接口执行顺序:
图片说明

  • 写回答

4条回答 默认 最新

  • 不喜欢吃猫的鱼 2018-04-12 19:05
    关注

    在service层调用 你看下我的这个能不能帮上
    https://blog.csdn.net/qq_37461349/article/details/79665348

    评论
  • 雄武哥 2018-04-12 19:16
    关注

    在查询数据的时候也就是执行SQL的时候加上这句,记得操作完重新切换数据源

    评论
  • 康永敢 2018-04-12 20:53
    关注

    https://kangyonggan.com/article/70
    这是我用使用多数据源的实例,可以参考一下

    评论
  • 诸葛小亮 2019-08-27 05:57
    关注

    兄弟,你的问题解决了没?
    AbstractRoutingDataSource 是在 事务开启aop中调用的
    自定义aop中,需要添加注解 @Order(1),以便事务开启前设置数据源

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 宝塔面板一键迁移使用不了
  • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
  • ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
  • ¥20 四叉树的创建和输出问题
  • ¥15 javaweb连接数据库,jsp文件加载不出来
  • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
  • ¥15 损失匹配问题,求解答
  • ¥15 3500常用汉字书法体检测数据集下载
  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部