0

我有一个案例,我需要使用 Spring mongodata(版本:1.6.2)在 mongo 数据库之间切换。目前,我在 db-config.xml 中使用 mongo 模板配置了默认数据库,并且有带注释的存储库;需要在运行时从一个数据库/模板切换到另一个;执行必要的操作并切换回默认操作。我提到了几个链接, Spring-data-mongodb 在一个 Mongo 实例中连接到多个数据库, 并使 spring-data-mongodb 成为多租户 我需要在运行时使用相同的存储库集。是否可以在配置级别处理我的案例?还是我们需要扩展 Dbfactory 来实现这一点?使用 Dbfactory,我可以使用同一组带注释的存储库吗?

感谢任何帮助。

4

2 回答 2

1

我曾经有一个非常相似的问题。我在github上发布了代码,查看multi-tenant-spring-mongodb

您基本上也必须扩展SimpleMongoDbFactory和处理其他主机。我只是在同一台服务器上处理了多个数据库。那应该不是问题。

于 2015-04-06T19:44:27.790 回答
1

您可以扩展:

   1.  `SimpleMongoDbFactory`: returning custom DB in DB `getDb(String dbName)`.

    2. `MongoTemplate`: Supplying above factory.

MongoTemplate在 的帮助下适当使用@Qualifier

于 2015-04-06T22:45:14.630 回答