首页 > 其他 > 详细

多数据源,配置完事务之后就不能正常切换数据源

时间:2020-01-29 22:06:09      阅读:147      评论:0      收藏:0      [点我收藏+]
我也遇到了这个问题,仔细debug了一下,结论如下:
1. AOP可以触发数据源字符串的切换,这个没问题
2. 数据源真正切换的关键是 AbstractRoutingDataSource 的 determineCurrentLookupKey() 被调用,此方法是在open connection时触发
3. 事务是在connection层面管理的,启用事务后,一个事务内部的connection是复用的,所以就算AOP切了数据源字符串,但是数据源并不会被真正修改

综上所述:
如果要使用事务,还是别用determineCurrentLookupKey()这种方法切数据源了,得配置多个才行

多数据源,配置完事务之后就不能正常切换数据源

原文:https://www.cnblogs.com/eternityz/p/12241477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!