mongodb - Mongodb - com.mongodb.MongoSocketReadException:过早到达流的末尾
问题描述
我在连接时收到此错误:
com.mongodb.MongoSocketReadException:过早到达流的末尾
我查看了其他 SO 答案,但它们没有帮助。
我可以使用 LDAP 身份验证、密钥库中的相同密钥、相同的用户名/密码以及注释掉的选项集从 MongoDB 罗盘连接。
@Bean
fun mongoClient(): MongoClient {
System.setProperty("javax.net.ssl.keyStore", "/Users/mike/code/certs/truststore.jks")
System.setProperty("javax.net.ssl.keyStorePassword", "xabcdef")
System.setProperty("j/Users/mike/code/certs/truststore.jks")
System.setProperty("javax.net.ssl.trustStorePassword", "xabcdef")
var optionsBuilder = MongoClientOptions.builder()
optionsBuilder.sslEnabled(true)
//.requiredReplicaSetName("rs0")
//.readPreference(ReadPreference.primary())
//.sslInvalidHostNameAllowed(true)
val options = optionsBuilder.build()
var serverAddresses = ArrayList<ServerAddress>()
serverAddresses.add(ServerAddress("wdcmon201.os.s.net", 27017))
serverAddresses.add(ServerAddress("wdcmon202.os.s.net", 27017))
serverAddresses.add(ServerAddress("wdcmon203.os.s.net", 27017))
var credential = MongoCredential.createPlainCredential("mike", "\$external", "P@\$\$w2291921234!".toCharArray())
var mongoClient = MongoClient(serverAddresses, credential, options)
println("Got it")
return mongoClient
}
是什么赋予了?相同的机器,相同的设置/凭据,但我的 Spring Boot 应用程序在 Spring Boot 中抛出了该异常CommandLineRunner
编辑-> 这不是超时,这是堆栈跟踪,它发生在连接时:
at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:92) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:554) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:425) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:289) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:106) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127) ~[mongodb-driver-core-3.8.2.jar:na]
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) ~[mongodb-driver-core-3.8.2.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
解决方案
推荐阅读
- vue.js - 使用 vue-cli 创建的 Vue 2 项目的 npm 更新失败
- java - Glassfish和java输入到mysql DB
- apache-kafka - kafkacat 在 Windows 上不可用以能够 tp 消费?
- character-encoding - 如何使用可在任何应用程序中使用的短语列表制作自定义键盘?
- plot - 将 Highcharts 与 FastAPI 一起使用
- android - 如何为 larval 后端管理面板创建浏览器视图
- prestashop-1.7 - Prestashop orders_conf.html 与客户订单说明
- r - for-loop 线性回归生成带有结果的新数据框
- python - 我应该如何使用没有超大尺寸的 Tkinter 按钮?
- typescript - 重新定义获取选项类型以接受对象作为正文值