Mongodb-com.mongodb.MongoSocketReadException:过早到达流的末尾

时间:2019-08-08 00:18:55

标签: mongodb spring-boot kotlin spring-mongodb

我在连接时遇到此错误:

com.mongodb.MongoSocketReadException:过早到达流的结尾

我查看了其他SO答案,但它们无济于事。

我可以从MongoDB指南针通过LDAP身份验证,密钥库中的相同密钥,相同的用户名/密码以及注释掉的选项集进行连接。

@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]

0 个答案:

没有答案