Spring 数据 Mongodb - 独立 mongo 和副本集的单一配置

Spring Data Mongodb - single configuration for standalone mongo and replicaset

我开始使用一个 mongo 实例作为我的数据库,在 spring xml:

中配置
<mongo:mongo host="localhost" port="27017" />

最近,我更改了配置以使用 3 节点副本集,配置为:

<mongo:mongo replica-set="${my.replica.set}" />

一切正常。

我当前的问题是,对于我的开发环境,我想使用单个本地主机 mongo 配置,对于 int 和 prod 环境,我想使用副本集配置。我将通过属性文件处理不同的值。问题是关于 mongo 配置本身。

下面示例中的内容是理想的...

<mongo:mongo uri="localhost:27017" />
<mongo:mongo uri="localhost:27017,localhost:27018" />

我运行进入这个例子:spring-boot uriCanBeCustomized unitTest

有没有办法在 spring 配置中做到这一点?

我正在使用 spring-data-mongodb-1.7.0.RELEASE.

即使您将副本集配置指向独立的 mongod,它看起来也能正常工作。我认为那是行不通的,因为它专门设置了 'replica-set' 但测试表明它确实如此。

所以在我的例子中,配置看起来像

<mongo:mongo replica-set="${mongodbs}" /> 

我在开发属性文件中的哪个位置

mongodbs=localhost:27017 

和 int/prod 属性

mongodbs=host1:port1,host2:port2,host3:port3