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