java mongo java driver 3.4.0及以上版本的MongoDB Atlas错误

Posted

技术标签:

【中文标题】java mongo java driver 3.4.0及以上版本的MongoDB Atlas错误【英文标题】:MongoDB Atlas Error for java mongo java driver 3.4.0 and above 【发布时间】:2018-05-20 14:05:40 【问题描述】:

当我将 mongo atlas 与 mongo java 驱动程序 3.4.0 一起使用时,我收到以下错误。如果我使用低于 3.4.0 版本的 mongo java 驱动程序,则会出现不同的错误。请提出一些建议

信息:连接到服务器 cluster0-shard-00-02-me1wd.mongodb.net:27017 时,监控线程出现异常 com.mongodb.MongoSocketReadException:过早到达流的末尾 在 com.mongodb.connection.SocketStream.read(SocketStream.java:88) 在 com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:494) 在 com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:224) 在 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:85) 在 com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:45) 在 com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:116) 在 com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) 在 java.lang.Thread.run(Thread.java:745)

2017 年 12 月 6 日晚上 9:04:19 com.mongodb.diagnostics.logging.JULLogger 日志 信息:连接到服务器 cluster0-shard-00-00-me1wd.mongodb.net:27017 时,监控线程出现异常 com.mongodb.MongoSocketReadException:过早到达流的末尾 在 com.mongodb.connection.SocketStream.read(SocketStream.java:88) 在 com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:494) 在 com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:224) 在 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:85) 在 com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:45) 在 com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:116) 在 com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) 在 java.lang.Thread.run(Thread.java:745)

2017 年 12 月 6 日晚上 9:04:19 com.mongodb.diagnostics.logging.JULLogger 日志 信息:连接到服务器 cluster0-shard-00-01-me1wd.mongodb.net:27017 时,监控线程出现异常 com.mongodb.MongoSocketReadException:过早到达流的末尾 在 com.mongodb.connection.SocketStream.read(SocketStream.java:88) 在 com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:494) 在 com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:224) 在 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:85) 在 com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:45) 在 com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:116) 在 com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) 在 java.lang.Thread.run(Thread.java:745)

【问题讨论】:

你能分享你的 Java 代码的 sn-p 吗?您是一直收到错误还是间歇性收到错误?您是否在使用其他 Java 框架。即 Spring 等。您是否使用 MongoDB Atlas M0 免费层?另请参阅How do I ask a good question?。 【参考方案1】:

那是我的错误……我在 Atlas 中添加到证券的 IP 地址已更改。我已经用新 IP 更新了它,它工作正常。

【讨论】:

以上是关于java mongo java driver 3.4.0及以上版本的MongoDB Atlas错误的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot在添加mongo-java-driver maven依赖时尝试连接mongo

java操作mongodb——连接数据库

Spring with mongo-java-driver 使用 Azure Cosmos DB 作为 MongoDB

MongoDB 项目集成 mongo-driver 3.4.2

Java MongoDB Driver 3.x - Quickly Start

Mongodb的java学习安装部署