MongoDB连接问题,prematurely reached end of stream-问答-阿里云开发者社区-阿里云

开发者社区> 佚名4918> 正文

MongoDB连接问题,prematurely reached end of stream

2021-10-19 16:12:55 272 1
com.mongodb.MongoSocketReadException: Prematurely reached end of stream

com.mongodb.connection.SocketStream.read(SocketStream.java:88)
com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:491)
com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:221)
com.mongodb.connection.CommandHelper.receiveReply(CommandHelper.java:134)
com.mongodb.connection.CommandHelper.receiveCommandResult(CommandHelper.java:121)
com.mongodb.connection.CommandHelper.executeCommand(CommandHelper.java:32)
com.mongodb.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:83)
com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:43)
com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:127)
取消 提交回答
全部回答(1)
  • 无敌小将
    2021-10-19 16:20:19

    您好,因为mongo没有配置空闲连接时间,而spring boot 默认的空闲连接时间为0。当连接闲置一段时间,由于防火墙或者负载均衡的原因,导致连接被关闭,而客户端并不知道,当客户端继续使用这个关闭的连接进行读写时就会出错。所以可以设置连接闲置时间,当超过这个闲置时间客户端主动关闭连接,下次使用时重新建立连接,这样可以有效避免连接失效的问题。

    1.如果使用mongo 2.x的配置时,增加设置:

    spring.data.mongodb.prepare.maxConnectionIdleTime=60000
    spring.data.mongodb.prepare.maxConnectionLifeTime=0
    
    

    2.写一个配置类设置空闲连接时间

    @Configuration
    public class MongoCongig {
     
        @Bean
        public MongoClientOptions mongoOptions() {
            return MongoClientOptions.builder().maxConnectionIdleTime(3000).build();
     
        }
    
    

    3.如果使用mongo 3.x 配置:

    spring.data.mongodb.uri=mongodb://[username:password@]host1[:port1][,hostN[:portN]]][/[database[.collection]][?options]]
    
    1 0
相关问答

37

回答

ISV接入钉钉详细示例以及代码(JAVA版本)  --服务窗代码部分放出

蛋蛋oo蛋蛋 2016-08-13 16:22:00 54998浏览量 回答数 37

19

回答

[@倚贤][¥20]学习Java后端的疑惑

小江同志 2018-10-24 16:11:21 132243浏览量 回答数 19

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 256897浏览量 回答数 38

23

回答

【精品问答合集】Redis热门问答

李博 bluemind 2019-05-29 16:36:15 126321浏览量 回答数 23

9

回答

HaoSQL,好用的SQL等数据库一键包发布!

梦丫头 2017-11-14 15:20:55 70776浏览量 回答数 9

30

回答

基础语言百问-Python

薯条酱 2017-05-17 18:01:13 64765浏览量 回答数 30

11

回答

【精品问答合集】MongoDB热门问答

李博 bluemind 2019-05-29 16:50:19 120886浏览量 回答数 11

14

回答

对象存储oss【问答合集】

我是管理员 2018-08-03 14:54:02 67384浏览量 回答数 14

80

回答

高性能本地SSD盘ECS正式商用啦!!(增加SSD申请地址和官方测试结果)

qilu 2014-12-01 17:15:26 52599浏览量 回答数 80

13

回答

【精品问答合集】Java热门问答

李博 bluemind 2019-05-29 16:00:45 124844浏览量 回答数 13
+关注
0
文章
85
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载