Mongodb Atlas“与集群连接时出现套接字错误”

问题描述

我正在使用Java&Springboot和MongoDB Atlas,并创建了一个响应许多Object的CURD的数据库

在关于uploadingImage的帖子中,出现此错误Got Socket exception on Connection [connectionId{localValue:4,serverValue:114406}] to cluster0-shard-00-02.1c6kg.mongodb.net:27017

但是,当我调用其他对象的CRUD时,它完全可以正常工作。我不为什么会引发此异常。顺便说一句,当我不连接到MongoDB Atlas时,所有对象的所有CRUD操作在localhost上都能很好地工作,这意味着我的ImageDAO应该很好,我只是使用了mongoTemplate.insert(Image)

我在线搜索,他们说这可能是Atlas的IP白名单,所以我将“群集”设置为对任何IP地址都开放。

我也在.properties文件中设置超时和套接字配置,如下所示: spring.data.mongodb.uri = mongodb + srv:// username:password@cluster0.1c6kg.mongodb.net/database?retryWrites = true&w = majority&keepAlive = true&pooSize = 30&autoReconnect = true&socketTimeoutMS = 361000000&connectTimeoutMS = 3600000

它仍然无法正常工作,我认为问题肯定与套接字超时有关,但是我不知道我还能在哪里配置

解决方法

错误日志在这里: 2020-11-01 12:25:34.275 WARN 20242 --- [nio-8088-exec-1] org.mongodb.driver.connection:在连接[connectionId {localValue:4,serverValue:114406}]上获得套接字异常cluster0-shard-00-02.1c6kg.mongodb.net:27017。到cluster0-shard-00-02.1c6kg.mongodb.net:27017的所有连接都将关闭。 2020-11-01 12:25:34.283信息20242 --- [nio-8088-exec-1] org.mongodb.driver.connection:与cluster0-shard的关闭连接[connectionId {localValue:4,serverValue:114406}] -00-02.1c6kg.mongodb.net:27017,因为此连接引发了套接字异常。 2020-11-01 12:25:34.295信息20242 --- [nio-8088-exec-1] org.mongodb.driver.cluster:WritableServerSelector没有从集群描述ClusterDescription {type = REPLICA_SET,connectionMode = MULTIPLE, serverDescriptions = [ServerDescription {address = cluster0-shard-00-00.1c6kg.mongodb.net:27017,type = REPLICA_SET_SECONDARY,state = CONNECTED,ok = true,minWireVersion = 0,maxWireVersion = 8,maxDocumentSize = 16777216,logicalSessionTimeoutMinutes = 30, roundTripTimeNanos = 46076648,setName ='atlas-d9ovwb-shard-0',canonicalAddress = cluster0-shard-00-00.1c6kg.mongodb.net:27017,hosts = [cluster0-shard-00-00.10.1c6kg.mongodb.net:27017 ,cluster0-shard-00-01.1c6kg.mongodb.net:27017,cluster0-shard-00-02.1c6kg.mongodb.net:27017],passives = [],仲裁器= [],primary ='cluster0-shard-00 -02.1c6kg.mongodb.net:27017'、tagSet=TagSet{[Tag{name='nodeType'、value='ELECTABLE'}、Tag{name='provider'、value='AWS'}、Tag{name= 'region',value ='US_WEST_2'},Tag {name ='workloadType',value ='OPERATIONAL'}] },lectionId = null,setVersion = 1,lastWriteDate = Sun Nov 01 12:25:29 PST 2020,lastUpdateTimeNanos = 104428017411386},ServerDescription {地址= cluster0-shard-00-02.1c6kg.mongodb.net:27017,类型= UNKNOWN ,状态= CONNECTING},服务器描述{address = cluster0-shard-00-01.1c6kg.mongodb.net:27017,类型= REPLICA_SET_SECONDARY,状态= CONNECTED,确定= true,minWireVersion = 0,maxWireVersion = 8,maxDocumentSize = 16777216,逻辑会话超时分钟= 30,roundTripTimeNanos = 41202444,setName ='atlas-d9ovwb-shard-0',canonicalAddress = cluster0-shard-00-01.1c6kg.mongodb.net:27017,hosts = [cluster0-shard-00-00.1c6kg.mongodb。净值:27017,cluster0-shard-00-01.1c6kg.mongodb.net:27017,cluster0-shard-00-02.1c6kg.mongodb.net:27017],passives = [],仲裁器= [],primary ='cluster0- shard-00-02.1c6kg.mongodb.net:27017'、tagSet=TagSet{[Tag{name='nodeType'、value='ELECTABLE'}、Tag{name='provider'、value='AWS'}、Tag {name ='region',value ='US_WEST_2'},标记{name ='workloadType',value ='OPERATIONAL'}]},lectionId = null,setVersion = 1,lastWriteDate = Sun Nov 01 12:25:29 PST 2020,lastUpdateTimeNanos = 104428010234368}]}。等待30000毫秒,然后超时 2020-11-01 12:25:34.316 INFO 20242 --- [ngodb.net:27017] org.mongodb.driver.cluster:发现的副本集主群集0-shard-00-02.1c6kg.mongodb.net:27017 2020-11-01 12:25:34.612信息20242 --- [nio-8088-exec-1] org.mongodb.driver.connection:打开到cluster0-shard的连接[connectionId {localValue:5,serverValue:108547}] -00-02.1c6kg.mongodb.net:27017 2020-11-01 12:25:34.838 WARN 20242 --- [nio-8088-exec-1] org.mongodb.driver.connection:在连接[connectionId {localValue:5,serverValue:108547}]上获得套接字异常cluster0-shard-00-02.1c6kg.mongodb.net:27017。到cluster0-shard-00-02.1c6kg.mongodb.net:27017的所有连接都将关闭。 2020-11-01 12:25:34.838信息20242 --- [nio-8088-exec-1] org.mongodb.driver.connection:与cluster0-shard的关闭连接[connectionId {localValue:5,serverValue:108547}] -00-02.1c6kg.mongodb.net:27017,因为此连接引发了套接字异常。 2020-11-01 12:25:34.876信息20242 --- [ngodb.net:27017] org.mongodb.driver.cluster:发现的副本集主群集0-shard-00-02.1c6kg.mongodb.net:27017 2020-11-01 12:25:34.878错误20242-[nio-8088-exec-1] oaccC [。[。[/]。[dispatcherServlet]:Servlet [dispatcherServlet]的Servlet.service()路径[]引发异常[请求处理失败;嵌套的异常是org.springframework.data.mongodb.UncategorizedMongoDbException:发送消息异常;嵌套的异常是com.mongodb.MongoSocketWriteException:异常发送消息]具有根本原因

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...