2016-04-07 10 views
0

私はhongnate OGMを使用してmongoDBと通信しています。ビジネス要件の一部として、私はsslをmongodbと私のJavaアプリケーション間の通信に有効にする必要があります。hongnate OGMを使用してmongoDBのSSLを有効にします

mongodbのマニュアルでは、mongodb-java-driverを使用すると、接続文字列でsslフラグをtrueにするのと同じくらい簡単です。休止状態でどうすればいいですか?

のみ与えられた回答に基づいて===== UPDATE MongoClientOptions.BuilderのSSLプロパティを含まない======

のHibernate OGMバージョン4.2使用MongoDBのJavaドライババージョン2.13クラス。私はhibernateOGMのバージョンをまだベータかアルファのどちらかでアップグレードすることができません。私はアップデート2 ==============に========

を私は明示的にJavaドライバのバージョンをアップグレードしようとしたが、その後、私は例外java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ogm.datastore.mongodb.options.impl.WriteConcernOption

を取得し始めましたmongodb javaドライバのドキュメントを調べて、socketFactoryオプションをSSLSocketFactoryに設定すると、その罠に入る可能性があることがわかりました(https://docs.mongodb.org/v2.6/tutorial/configure-ssl-clients/#java参照)。しかし、OGM 4.2はMongoのクライアントを作成するための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を使用して、あなたは接頭辞hibernate.ogm.mongodb.driverを使用してcom.mongod.MongoClientOptions内のすべてのプロパティを設定することができます。

詳細についてはdocumentationMongoClient.Builderを確認してください。

+0

あなたの提案に照らして質問を更新しましたが、別の問題が発生しました。他の選択肢がありますか? –

+0

現在、公開されている問題があります:https://hibernate.atlassian.net/browse/OGM-975 – Davide

+0

MongoDBDatastoreProviderメソッドを拡張する方法があります:protected MongoClient createMongoClient(MongoDBConfiguration config)を使用し、パラメータとして 'hibernate .ogm.datastore.provider'。 – Davide

関連する問題