我开始使用单个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。
答案 0 :(得分:2)
即使您将其指向独立的mongod,看起来副本集配置也能正常工作。我认为它不会起作用,因为它专门设置了'replica-set&#39;但测试表明它确实如此。
所以在我的情况下,配置看起来像
<mongo:mongo replica-set="${mongodbs}" />
在dev属性文件中我有
mongodbs=localhost:27017
和int / prod属性
mongodbs=host1:port1,host2:port2,host3:port3