2016-04-07 3 views
0

Я использую hibernate OGM для взаимодействия с mongoDB. В рамках бизнес-требований мне нужно включить ssl для связи между mongodb и моим java-приложением.Включить SSL для mongoDB с использованием hibernate OGM

Я вижу в документации mongodb, что с использованием mongodb-java-драйвера, так же просто, как привязать флаг ssl к true в строке соединения. Как я могу сделать это в спящем режиме?

===== UPDATE на основе только данного ответа ======

Hibernate OGM версия 4.2 использует MongoDB Java драйвер версии 2.13, которая не включает в себя свойство Ssl в MongoClientOptions.Builder класс. Я не могу обновить версию hibernateOGM, потому что она по-прежнему либо бета, либо альфа. Я попытался явно обновить версию драйвера Java, но затем я начал получать за исключением java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ogm.datastore.mongodb.options.impl.WriteConcernOption

======== Update 2 ==============

I заглянул в документацию драйвера java mongodb и обнаружил, что настройка socketFactory может быть SSLSocketFactory может быть хитростью (см.). Но кажется, что зимуют ОГМ 4,2 не подбирая следующее свойство использовать SSLSocketFactory для создания Монго клиента: hibernate.ogm.mongodb.driver.socketFactory=SSLSocketFactory

ответ

1

Вы можете включить SSL, используя следующее свойство:

hibernate.ogm.mongodb.driver.sslEnabled = true 

вы также можете установить:

hibernate.ogm.mongodb.driver.sslInvalidHostNameAllowed = true 

Hibernate OGM использует com.mongodb.MongoClient и вы можете установить все свойства в com.mongod.MongoClientOptions, используя префикс hibernate.ogm.mongodb.driver.

Для получения более подробной информации проверьте documentation и MongoClient.Builder.

+0

Я обновил вопрос в свете вашего предложения, но теперь оказался в ловушке другой проблемы. Есть ли у вас другая возможность указать? –

+0

В настоящее время для этого есть открытая проблема: https://hibernate.atlassian.net/browse/OGM-975 – Davide

+0

Одним из способов может быть расширение метода MongoDBDatastoreProvider: защита MongoClient createMongoClient (конфигурация MongoDBConfiguration) и использование параметра 'hibernate .ogm.datastore.provider'. – Davide

Смежные вопросы