2016-04-07 22 views
0

mongoDB ile etkileşime geçmek için hazırda bekletme OGM kullanıyorum. İş gereksiniminin bir parçası olarak, mongodb ile java uygulamam arasındaki iletişim için ssl'u etkinleştirmem gerekiyor.Hazırda bekletme modunu kullanarak mongoDB için SSL'yi etkinleştirin

mongodb-java-sürücüsünü kullanarak mongodb belgelerinde görüyorum, bağlantı dizesinde ssl bayrağını çevirmek kadar basit. Bunu hazırda nasıl yapabilirim?

sadece verilen cevap ====== dayalı ===== GÜNCELLEME

hazırda OGM MongoClientOptions.Builder içinde ssl özelliğini içermez sürüm 4.2 kullanır mongodb Java sürücü sürümü 2.13 sınıf. HibernateOGM sürümünü, henüz beta veya alfa olduğu için yükselteemiyorum. Ben açıkça java sürücü sürümünü yükseltme çalıştı ama sonra java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ogm.datastore.mongodb.options.impl.WriteConcernOption

======== Güncelle istisna 2 ==============

ben başlarken mongodb java sürücü belgelerine baktı ve ayarının SSLSocketFactory ayarının hile ile ilgili olduğunu gördü (bkz. https://docs.mongodb.org/v2.6/tutorial/configure-ssl-clients/#java). Ama OGM 4.2 Mongo istemcisi oluşturmak için SSLSocketFactory kullanmak için aşağıdaki özellik cevap vermiyor hazırda bekleme gibi görünüyor: hibernate.ogm.mongodb.driver.socketFactory=SSLSocketFactory

cevap

1

Aşağıdaki özelliğini kullanarak SSL etkinleştirebilirsiniz:

hibernate.ogm.mongodb.driver.sslEnabled = true 

da ayarlayabilirsiniz:

hibernate.ogm.mongodb.driver.sslInvalidHostNameAllowed = true 

hazırda bekletme OGM com.mongodb.MongoClient kullanır ve önek hibernate.ogm.mongodb.driver kullanarak com.mongod.MongoClientOptions tüm özelliklerini ayarlayabilirsiniz.

Daha fazla ayrıntı için documentation ve MongoClient.Builder'a bakın.

+0

Sorunuzu ışığında güncelledim ancak şimdi başka bir sorunla karşılaştı. İşaret edecek başka bir seçeneğin var mı? –

+0

Şu anda bunun için açık bir sorun var: https://hibernate.atlassian.net/browse/OGM-975 – Davide

+0

Tek bir çözüm MongoDBDatastoreProvider yöntemini genişletmek olabilir: korumalı MongoClient createMongoClient (MongoDBConfiguration config) ve "hibernate" parametresini kullanın .ogm.datastore.provider'. – Davide

İlgili konular