Spring Boot,MongoDB连接超时

时间:2017-03-10 16:38:49

标签: mongodb azure spring-boot java-8

我有以下问题:
 1.我设置了使用MongoDB数据库的spring boot应用程序  2.我在本地进行了测试并且工作正常 - 应用程序正确连接数据库  3.我将spring boot app部署到azure,但app无法连接到MongoDB数据库。我得到以下异常:

  

"在等待与ReadPreferenceServerSelector {readPreference = primary}匹配的服务器时,在30000 ms后超时。集群状态的客户端视图是{type = UNKNOWN,servers = [{address = 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.MongoSocketReadTimeoutException:在接收消息时超时},由{java.net.SocketTimeoutException:read timed out}}]"

引起

我相信我的application.properties已正确配置:

  

spring.data.mongodb.uri = mongodb的://用户名:密码@主机:端口/ SSL的databaseName =真&安培; sslInvalidHostNameAllowed =真
  server.ssl.enabled =真
  server.ssl.enabled-protocols = true

但我不确定 - 你能告诉我什么是错的吗?

如果我使用Robomongo工具连接,那么每个工作都很好。 我使用Java 8 - 它有问题吗?

1 个答案:

答案 0 :(得分:0)

您是否打开了从应用服务器到数据库(Mongo)服务器的连接?该错误听起来就像防火墙只是丢弃请求数据包。

Azure和AWS等服务的所有内容都非常紧密。您通常必须明确打开或允许您要使用的每个连接点。