在数据库之间切换 Spring MongoDb
Switching between databases Spring MongoDb
我有一个案例,我需要使用 Spring mongo 数据(版本:1.6.2)在 mongo 数据库之间切换。目前,我在 db-config.xml 中使用 mongo 模板配置了默认数据库,并且有带注释的存储库;需要在运行时从一个 db/template 切换到另一个;执行必要的操作并切换回默认操作。
我提到了几个链接,
Spring-data-mongodb connect to multiple databases in one Mongo instance
和
Making spring-data-mongodb multi-tenant
我需要在运行时使用同一组存储库。是否可以在配置级别处理我的案例?或者我们是否需要扩展 Dbfactory 来实现这一点?
使用 Dbfactory,我可以使用同一组带注释的存储库吗?
感谢任何帮助。
我曾经遇到过非常相似的问题。
我在 github 上发布了代码,查看 multi-tenant-spring-mongodb
您基本上必须扩展 SimpleMongoDbFactory
并处理其他主机。我只是在同一台服务器上处理多个数据库。那应该不是问题。
您可以扩展:
1. `SimpleMongoDbFactory`: returning custom DB in DB `getDb(String dbName)`.
2. `MongoTemplate`: Supplying above factory.
在@Qualifier
的帮助下使用适当的MongoTemplate
。
我有一个案例,我需要使用 Spring mongo 数据(版本:1.6.2)在 mongo 数据库之间切换。目前,我在 db-config.xml 中使用 mongo 模板配置了默认数据库,并且有带注释的存储库;需要在运行时从一个 db/template 切换到另一个;执行必要的操作并切换回默认操作。 我提到了几个链接, Spring-data-mongodb connect to multiple databases in one Mongo instance 和 Making spring-data-mongodb multi-tenant 我需要在运行时使用同一组存储库。是否可以在配置级别处理我的案例?或者我们是否需要扩展 Dbfactory 来实现这一点? 使用 Dbfactory,我可以使用同一组带注释的存储库吗?
感谢任何帮助。
我曾经遇到过非常相似的问题。 我在 github 上发布了代码,查看 multi-tenant-spring-mongodb
您基本上必须扩展 SimpleMongoDbFactory
并处理其他主机。我只是在同一台服务器上处理多个数据库。那应该不是问题。
您可以扩展:
1. `SimpleMongoDbFactory`: returning custom DB in DB `getDb(String dbName)`.
2. `MongoTemplate`: Supplying above factory.
在@Qualifier
的帮助下使用适当的MongoTemplate
。