MongoSocketReadException: преждевременно достигнут конец потока (Java до понедельника go с использованием ssl) - PullRequest
1 голос
/ 28 февраля 2020

Я получаю указанную ошибку при попытке подключить мое приложение java к кластеру mon go с ssl true. Ниже приведены шаги, которые я выполняю:

Примечание. Используемый путь - это фиктивные данные, которые я использовал для каждого фактического или правильного пути.

  1. Создан мое собственное Java хранилище ключей.
  2. Импортируйте CAFile в хранилище ключей, используя следующую команду: "% JAVA_HOME%" \ bin \ keytool -import -trustcacerts -file ".. \ .. CAFile.pem" -keystore my -keystore -storepass test@123
  3. Теперь преобразуйте мой PEMKeyFile.pem в формат .pkcs12 openssl pkcs12 -export -in ".. \ .. PEMKeyfile.pem" -out .. \ .. PEMKeyfile.pkcs12
  4. Java код:
@Bean
  public MongoClient mongoClient() {
     System.setProperty ("javax.net.ssl.trustStore","..\\..\\my-keystore");
     System.setProperty ("javax.net.ssl.trustStorePassword","test@123");
     System.setProperty ("javax.net.ssl.keyStore","..\\..\\PEMKeyfile.pkcs12");
     System.setProperty ("javax.net.ssl.keyStorePassword","test@123");

     MongoClientOptions  mongoClientOptions = MongoClientOptions.builder().sslEnabled(true).build();    

     MongoCredential credential = MongoCredential.createCredential(username, db, pwd.toCharArray());
     return new MongoClient(return Arrays.asList(new ServerAddress("host-1", 123),
             new ServerAddress("host-2", 123),
             new ServerAddress("host-3", 123));, credential, mongoClientOptions);
 }

Ошибка: одинаковая ошибка для всех трех хостов

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...