Ich verwende Hibernate OGM, um mit MongoDB zu interagieren. Als Teil der Geschäftsanforderung muss ich ssl
für die Kommunikation zwischen mongodb und meiner Java-Anwendung aktivieren.Aktivieren Sie SSL für MongoDB mit Hibernate OGM
Ich sehe in mongodb Dokumentation, dass mit dem mongodb-java-Treiber, ist es so einfach wie die ssl-Flag zu true in der Verbindungszeichenfolge turing. Wie kann ich dies im Ruhezustand tun?
===== UPDATE auf der Grundlage der einzigen Antwort ====== gegeben
Hibernate OGM Version 4.2 Anwendungen mongodb Java-Treiber Version 2.13, die nicht die ssl Eigenschaft in MongoClientOptions.Builder enthält Klasse. Ich kann die HibernateOGM-Version nicht aktualisieren, da sie immer noch Beta oder Alpha ist. Ich habe versucht, explizit die Java-Treiberversion zu aktualisieren, aber dann begann ich Ausnahme java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ogm.datastore.mongodb.options.impl.WriteConcernOption
======== Update 2 ==============
ich immer schaute in die mongodb Java Treiber Dokumentation und fand, dass die Einstellung socketFactory
Option zu SSLSocketFactory
könnte der Trick (siehe https://docs.mongodb.org/v2.6/tutorial/configure-ssl-clients/#java). Aber scheint, wie Hibernate OGM 4.2 ist nicht die folgende Eigenschaft Kommissionierung bis zu dem SSLSocketFactory verwendet für Mongo-Client zu erstellen: hibernate.ogm.mongodb.driver.socketFactory=SSLSocketFactory
Ich habe die Frage im Lichte Ihrer Anregung aktualisiert, aber jetzt in einem anderen Problem gefangen. Haben Sie eine andere Option, auf die Sie zeigen können? –
Zurzeit gibt es ein offenes Problem dafür: https://hibernate.atlassian.net/browse/OGM-975 – Davide
Eine mögliche Lösung wäre, die MongoDBDatastoreProvider-Methode zu erweitern: protected MongoClient createMongoClient (MongoDBConfiguration config) und den Parameter 'hibernate 'verwenden .ogm.datastore.provider'. – Davide