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