栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring-data-mongodb在一个Mongo实例中连接到多个数据库

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring-data-mongodb在一个Mongo实例中连接到多个数据库

因此,经过大量研究和实验,我得出的结论是,当前

spring-data-mongodb
项目尚不可能做到这一点。我在上面尝试了baja的方法,遇到了一个特殊的障碍。在
MongoTemplate
运行其
ensureIndexes()
从它的构造函数中的方法。此方法调出数据库以确保数据库中存在带注释的索引。启动时
MongoTemplate
会调用for的构造函数,
Spring
因此我什至没有机会设置
ThreadLocal
变量。我必须在
Spring
启动时已经设置好默认值,然后在请求进入时进行更改。这是不允许的,因为我既不需要也不拥有默认数据库。

虽然一切都没有丢失。我们最初的计划是让每个客户端都在其自己的应用程序服务器上运行,并指向服务器上自己的

MongoDB
数据库
MongoDB
。然后,我们可以提供一个
-Dprovider=
系统变量,并且每个服务器仅指向一个数据库运行。

我们被指示要有一个多租户应用程序,因此尝试使用该

ThreadLocal
变量。但是由于它不起作用,因此我们能够按照最初设计的方式运行该应用程序。

我相信,虽然有一种方法可以使所有这些工作正常进行,但所需的时间比其他帖子中所述的更多。你必须自己做

RepositoryFactoryBean
。这是Spring
Data MongoDB参考文档中
的示例。您仍然需要自己实现
MongoTemplate
并延迟或删除
ensureIndexes()
呼叫。但是,您将不得不重写一些类以确保
MongoTemplate
调用了而不是
Spring's
。换句话说,很多工作。我没有时间去做,甚至想做的工作。

感谢您的答复。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496594.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号