Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoSocketReadException:过早到达流的末尾(Java到Mongo使用ssl)_Java_Spring_Mongodb_Spring Boot_Ssl - Fatal编程技术网

MongoSocketReadException:过早到达流的末尾(Java到Mongo使用ssl)

MongoSocketReadException:过早到达流的末尾(Java到Mongo使用ssl),java,spring,mongodb,spring-boot,ssl,Java,Spring,Mongodb,Spring Boot,Ssl,我在尝试使用ssl true将我的java应用程序连接到mongo集群时遇到了上述错误。 以下是我所遵循的步骤: 注意:使用的路径是我实际使用或正确使用的虚拟数据 每种方法的路径 创建了我自己的Java密钥存储 使用以下命令在密钥库中导入CAFile: “%JAVA\u HOME%”\bin\keytool-import-trustcacerts-file“.\…CAFile.pem”-密钥库我的密钥库-storepasstest@123 现在将我的PEMKeyFile.pem转换为.pkcs1

我在尝试使用ssl true将我的java应用程序连接到mongo集群时遇到了上述错误。 以下是我所遵循的步骤:

注意:使用的路径是我实际使用或正确使用的虚拟数据 每种方法的路径

  • 创建了我自己的Java密钥存储
  • 使用以下命令在密钥库中导入CAFile: “%JAVA\u HOME%”\bin\keytool-import-trustcacerts-file“.\…CAFile.pem”-密钥库我的密钥库-storepasstest@123
  • 现在将我的PEMKeyFile.pem转换为.pkcs12格式 openssl pkcs12-导出-输入“..PEMKeyfile.pem”-输出....PEMKeyfile.pkcs12
  • Java代码:
  • 错误: 三台主机都会出现相同的错误

    INFO 4088 --- [xyz:27051] org.mongodb.driver.cluster               : Exception in monitor thread while connecting to server host-1:123
    
    com.mongodb.MongoSocketReadException: Prematurely reached end of stream
        at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:112) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:570) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:441) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:295) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) ~[mongo-java-driver-3.10.2.jar:na]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_221]
    

    这是错误的,我删除了一个证书表单实际生成的pem文件,当我试图通过终端连接时,它能够与一个证书连接,但当同样的事情在代码中尝试时,我不知道为什么以及它如何改变了性质,突然它停止工作,所以不容易检测出哪个部分有故障,但是的刚刚用两个证书撤消生成的pem文件后,它就工作了。

    我错误地从实际生成的pem文件中删除了一个证书,当我试图通过终端连接时,它能够与单个证书连接,但当在代码中尝试相同的东西时,我不知道为什么以及它如何改变了所有的性质突然,它停止工作,所以不容易检测出哪个部件有故障,但在用两个证书撤消生成的pem文件后,是的

    INFO 4088 --- [xyz:27051] org.mongodb.driver.cluster               : Exception in monitor thread while connecting to server host-1:123
    
    com.mongodb.MongoSocketReadException: Prematurely reached end of stream
        at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:112) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:570) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:441) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:295) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:255) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127) ~[mongo-java-driver-3.10.2.jar:na]
        at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) ~[mongo-java-driver-3.10.2.jar:na]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_221]