首页
mongodb
Linux
云原生
常用bat文件
Maven教程
设计模式
Oracle常用知识梳理
更多……
申请加入课程
MongDB简介
MongDB及其附属工具介绍和安装
MongoDB 备份(mongodump)与恢复(mongorestore)
MongoDB基础DML和DDL操作
MongoDB 可视化工具
MongoDB 索引
MongoDB 聚合
MongDB 复制与分片集群
MongoDB 监控
MongoDB 查询分析
MongoDB 概念解析
MongoDB GridFS
MongoDB Java
Redis、Memcache和MongoDB的区别
MongoDB的其它关键知识点
MongoDB k8s单节点部署和备份
MongoDB 的配置mongodb.conf
MongoDB k8s下部署 Replica Set
MongoDB 状态查询
MongoDB 数据库的日志解析
MongoDb 常见错误处理方法收集
MongoDB 一次性能测试和问题解决
MongoDb 常见错误处理方法收集
星辰
2020-12-24
0
0
105
人
0
人评论
0
人举报
[TOC] # MongoDb 常见错误处理方法收集 ## MongoDB Prematurely reached end of stream * 收集到的处理方法1: 当连接闲置一段时间,由于防火墙或者负载均衡的原因,导致连接被关闭,而客户端并不知道,当客户端继续使用这个关闭的连接进行读写时就会出错 解决办法就是设置连接闲置时间,当超过这个闲置时间客户端主动关闭连接,下次使用时重新建立连接,这样可以有效避免连接失效的问题 在spring boot中配置MongoClientOptions的bean。例如将最大闲置时间设为6000ms maxConnectionLifeTime ``` @Configuration public class WechatMpConfiguration { @Bean public MongoClientOptions mongoOptions() { return MongoClientOptions.builder().maxConnectionIdleTime(6000).build(); } } # mongo 驱动连接参数信息 description = builder.description; applicationName = builder.applicationName; minConnectionsPerHost = builder.minConnectionsPerHost; maxConnectionsPerHost = builder.maxConnectionsPerHost; threadsAllowedToBlockForConnectionMultiplier = builder.threadsAllowedToBlockForConnectionMultiplier; serverSelectionTimeout = builder.serverSelectionTimeout; maxWaitTime = builder.maxWaitTime; maxConnectionIdleTime = builder.maxConnectionIdleTime; maxConnectionLifeTime = builder.maxConnectionLifeTime; connectTimeout = builder.connectTimeout; socketTimeout = builder.socketTimeout; socketKeepAlive = builder.socketKeepAlive; readPreference = builder.readPreference; writeConcern = builder.writeConcern; readConcern = builder.readConcern; codecRegistry = builder.codecRegistry; sslEnabled = builder.sslEnabled; sslInvalidHostNameAllowed = builder.sslInvalidHostNameAllowed; alwaysUseMBeans = builder.alwaysUseMBeans; heartbeatFrequency = builder.heartbeatFrequency; minHeartbeatFrequency = builder.minHeartbeatFrequency; heartbeatConnectTimeout = builder.heartbeatConnectTimeout; heartbeatSocketTimeout = builder.heartbeatSocketTimeout; localThreshold = builder.localThreshold; requiredReplicaSetName = builder.requiredReplicaSetName; dbDecoderFactory = builder.dbDecoderFactory; dbEncoderFactory = builder.dbEncoderFactory; socketFactory = builder.socketFactory; cursorFinalizerEnabled = builder.cursorFinalizerEnabled; commandListeners = builder.commandListeners; clusterListeners = builder.clusterListeners; serverListeners = builder.serverListeners; serverMonitorListeners = builder.serverMonitorListeners; ``` 网上还有中说法是说驱动和版本的问题,主要是说`com.mongodb.BasicDBObject`和他`com.alibaba.fastjson.JSONObject`的问题,用`com.mongodb.BasicDBObject`可以兼容版本。但是目前版主没用到这东西,应该不是这个问题,先记录下。
所有评论列表
点我发表评论