Spring Data Mongodb - 独立mongo和replicaset的单一配置

时间:2016-02-11 11:55:32

标签: mongodb replication spring-data-mongodb replicaset

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

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

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

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

一切都很好。

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

以下示例中的某些内容将是理想的......

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

我遇到了这个例子:spring-boot uriCanBeCustomized unitTest

有没有办法在spring config中执行此操作?

我使用的是spring-data-mongodb-1.7.0.RELEASE。

1 个答案:

答案 0 :(得分:2)

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

所以在我的情况下,配置看起来像

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

在dev属性文件中我有

mongodbs=localhost:27017 

和int / prod属性

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