Я пытаюсь подключить MongoDB через веб-приложение, размещенное на IBM WAS 8.5. При подключении к MongoDB, представляющему собой защищенный кластер, я получаю сообщение об ошибке: *
com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=l4dreqdb4967.hewitt.com:30000, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoException: java.lang.NullPointerException}, caused by {java.lang.NullPointerException}}, {address=l4dreqdb4968.hewitt.com:30000, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoException: java.lang.NullPointerException}, caused by {java.lang.NullPointerException}}]
at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:377)
at com.mongodb.connection.BaseCluster.selectServer(BaseCluster.java:104)
at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.(ClusterBinding.java:75)
at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.(ClusterBinding.java:71)
at com.mongodb.binding.ClusterBinding.getReadConnectionSource(ClusterBinding.java:63)
at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:393)
Пн go Используемый клиент - 3,5
Пн go База данных - 4
IT является SSL-соединением, и мы поместили файл сертификата в JDK.
код, используемый для подключения: -
try {
MongoClientURI connectionString;
MongoClientOptions.Builder optionsBuilder;
optionsBuilder = MongoClientOptions.builder()
.sslEnabled(true)
.sslInvalidHostNameAllowed(true);
connectionString = new MongoClientURI(dbURI, optionsBuilder);
mongoClient = new MongoClient(connectionString);
MongoDatabase database = mongoClient.getDatabase("SPMQC");
MongoCollection<Document> collection = database.getCollection("PersonDocumentData");
Document mongoDoc = collection.find().first();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}