背景
今天项目集成了一个开源的模块,没想到多数据源就此崩溃.
表现形式为:
本项目一共3个数据源,之前每次启动时,能看到3个数据源加载成功的日志, 而现在每次启动都只有一个{dataSource-1}的数据源被加载, 也就是说, 我剩下的两个数据源丢了
解决问题
跟踪了一下午的bean加载终于找到了罪魁祸首 , 原因是dynamic的bean为单例限制, 而我集成的那个开源模块提前注入了dataSource这个bean ,所以导致数据源变成非多数据源了
解决办法的灵感来自于一位很强的博主 https://blog.youkuaiyun.com/mmmmmmmmo/article/details/128563559
我因为是新引入的这个模块,所以我直接把提前注入bean的地方取消了, 如果你的项目不适合这种方法, 记得去上面博主那里看看第二种方法, 博主讲的很详细,我就不贴那么多图了
项目在集成新的开源模块后,出现多数据源配置失效的问题,只加载了一个数据源。经过追踪发现,是由于dynamicbean的单例性质,以及开源模块提前注入了dataSourcebean,从而破坏了多数据源设置。解决方法是取消提前注入bean的操作,或者参考相关博主提供的第二种解决方案。
4061

被折叠的 条评论
为什么被折叠?



