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