在数据库之间切换Spring MongoDb

时间:2015-04-06 18:56:22

标签: java spring spring-mongo

我有一个案例,我需要使用Spring mongodata(版本:1.6.2)在mongo数据库之间切换。目前,我在db-config.xml中使用mongo模板配置了默认数据库,并且具有带注释的存储库;需要在运行时从一个db / template切换到另一个db / template;执行必要的操作并切换回默认操作。 我提到几个链接, Spring-data-mongodb connect to multiple databases in one Mongo instanceMaking spring-data-mongodb multi-tenant 我需要在运行时使用同一组存储库。是否可以在配置级别处理我的案例?或者我们是否需要扩展Dbfactory来实现这一目标? 使用Dbfactory,我可以使用同一组带注释的存储库吗?

感谢任何帮助。

2 个答案:

答案 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并处理其他主机。我刚刚在同一台服务器上处理了多个数据库。那应该不是问题。