[英]Enable SSL for mongoDB using hibernate OGM
我正在使用休眠OGM与mongoDB进行交互。 作为业务需求的一部分,我需要启用ssl
,以实现mongodb与Java应用程序之间的通信。
我在mongodb文档中看到,使用mongodb-java-driver,就像将连接字符串中的ssl标志设置为true一样简单。 如何在休眠状态下执行此操作?
=====根据唯一给出的答案进行更新======
Hibernate OGM版本4.2使用mongodb Java驱动程序版本2.13,该版本在MongoClientOptions.Builder类中不包含ssl属性。 我不能升级hibernateOGM版本,因为它仍然是beta或alpha。 我尝试显式升级Java驱动程序版本,但随后开始获取异常java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ogm.datastore.mongodb.options.impl.WriteConcernOption
========更新2 ==============
我查看了mongodb java驱动程序文档,发现将socketFactory
选项设置为SSLSocketFactory
可能会达到目的(请参阅https://docs.mongodb.org/v2.6/tutorial/configure-ssl-clients/#java )。 但是似乎休眠的OGM 4.2并未选择以下属性来使用SSLSocketFactory创建mongo客户端: hibernate.ogm.mongodb.driver.socketFactory=SSLSocketFactory
您可以使用以下属性启用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
中的所有属性。
查看文档和MongoClient.Builder以获取更多详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.