JavaSpringDataMongo动态更改存储库模板
我有这样一个场景:在多个mongo数据库中复制相同的数据库结构(相同的集合)。这意味着每个集合(文档)都有一个mongo存储库
现在,我需要通过同一个控制面板应用程序管理这些数据库,动态连接到每个数据库,并使用相同的存储库类(数据库是相同的)
我知道我可以为存储库指定已知模板,如本post中所述,但这意味着我必须在启动时知道数据库的连接属性。我如何实现这种动态行为呢
你可以在下面搜索框中键入要查询的问题!
我有这样一个场景:在多个mongo数据库中复制相同的数据库结构(相同的集合)。这意味着每个集合(文档)都有一个mongo存储库
现在,我需要通过同一个控制面板应用程序管理这些数据库,动态连接到每个数据库,并使用相同的存储库类(数据库是相同的)
我知道我可以为存储库指定已知模板,如本post中所述,但这意味着我必须在启动时知道数据库的连接属性。我如何实现这种动态行为呢
# 1 楼答案
您可能希望查看的核心接口是
MongoDBFactory
。您可以通过覆盖AbstractMongoConfiguration
中的mongoDbFactory()
或仅覆盖XML中的普通bean定义来提供自定义bean要在不同的数据库之间透明地切换,只需跟踪在实现中选择的数据库,并根据该数据库返回一个
DB
实例