Spring Data Mongodb – 独立mongo和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配置中执行此操作?

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

最佳答案 即使您将其指向独立的mongod,看起来副本集配置也能正常工作.我认为这不起作用,因为它专门设置’replica-set’,但测试表明它确实如此.

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

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

我在dev属性文件中的位置

mongodbs=localhost:27017 

以及int / prod属性

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