我有以下問題:
1.我安裝了使用MongoDB數據庫的spring啓動應用程序。
2.我在本地測試它,它工作 - 應用程序正確連接到數據庫。
3.我將spring引導應用程序部署到天青,但應用程序無法連接到MongoDB數據庫。我得到異常下面:Spring Boot,MongoDB連接超時
「後30000毫秒超時等待匹配ReadPreferenceServerSelector服務器{readPreference =初級}簇狀態的客戶端的觀點是{式=未知,服務器= [{地址= appexpirer。 documents.azure.com:10250,type = UNKNOWN,state = CONNECTING,exception = {com.mongodb.MongoSocketReadTimeoutException:接收消息時超時},由{java.net.SocketTimeoutException:Read timed out}造成}}];嵌套異常是com.mongodb.MongoTimeoutException: 在等待與ReadPreferenceServerSelector {readPreference = primary}匹配的服務器30000 ms後超時。集羣狀態的客戶端視圖是{type = UNKNOWN,servers = [{address = appexpirer.documents.azure.com :10250,type = UNKNOWN,state = CONNECTING,exception = {com.mongodb.MongoSocketRead TimeoutException異常:超時而接收消息},由{java.net.SocketTimeoutException:讀超時}}]」
我相信我的application.properties正確配置:
?spring.data .mongodb.uri = MongoDB的://用戶名:密碼@主機:端口/ SSL的databaseName =真& sslInvalidHostNameAllowed =真
server.ssl.enabled =真
server.ssl.enabled的協議=真
但我不確定 - 請你指教我有什麼問題嗎?
如果我使用Robomongo工具進行連接,everyting可以很好地工作。 我使用Java 8 - 可以解決問題嗎?
啓動應用程序如何部署到天藍色?是否有任何可能阻止對DocumentDb端點的出站訪問? – kgu87
我通過git部署了app.jar文件和web.config文件。我想知道它是否可以成爲ssl的問題,因爲我沒有在Azure上的應用程序服務上配置ssl,並且MongoDB需要SSL連接 - 您是否遇到過這種情況? – lwalukie
我可以擊中你的錯誤從我的機器啓動時顯示的mongo端點。它顯示驗證錯誤(明顯),所以看起來連接問題不是針對mongo端點,而是來自您的啓動應用程序所在的位置。 – kgu87