本文介紹了Spring Boot連接到使用仲裁器運(yùn)行的MongoDB副本集的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我的應(yīng)用程序是一個(gè)Spring引導(dǎo)應(yīng)用程序,應(yīng)用程序配置屬性文件如下所示:
....
spring.data.mongodb.host=ip
spring.data.mongodb.port=27017
spring.data.mongodb.admin.database=admin
spring.data.mongodb.database=myDB
spring.data.mongodb.username=su
spring.data.mongodb.password=su1$
....
現(xiàn)在問題是為了實(shí)現(xiàn)高可用性,MongoDB已移至主要-次要-仲裁器設(shè)置。
我應(yīng)該做哪些更改才能連接到這一點(diǎn)。已嘗試使用逗號(hào)分隔,但無濟(jì)于事。
推薦答案
As Spring Bootdocumentation狀態(tài):
和
spring.data.mongodb.port
不是
如果您使用的是Mongo 3.0 Java驅(qū)動(dòng)程序,則支持。在這種情況下,
spring.data.mongodb.uri
應(yīng)用于提供所有
配置。您可以設(shè)置
spring.data.mongodb.uri
屬性以更改URL和
配置其他設(shè)置,如副本集。
假設(shè)您有名為mc
且mongo1:27017
作為主要、mongo2:27017
作為次要和mongo3:27017
作為仲裁器的副本集,則可以使用:
spring.data.mongodb.uri=mongodb://su:su1$@mongo1:27017,mongo2:27017/myDB?replicaSet=mc
請(qǐng)注意that:
連接到副本集時(shí),給出種子列表很重要
至少兩個(gè)一神實(shí)例。如果您只提供連接
指向單個(gè)魔神實(shí)例,省略replicaSet
,客戶端
將創(chuàng)建獨(dú)立連接。
使用MongoDB連接字符串,您可以設(shè)置其他屬性,如讀取首選項(xiàng)。有關(guān)更多詳細(xì)信息,請(qǐng)查看MongoDBdocumentation。
這篇關(guān)于Spring Boot連接到使用仲裁器運(yùn)行的MongoDB副本集的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,