【发布时间】:2016-04-07 10:22:41
【问题描述】:
我正在使用休眠 OGM 与 mongoDB 进行交互。作为业务需求的一部分,我需要为 mongodb 和我的 java 应用程序之间的通信启用 ssl。
我在 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
【问题讨论】:
标签: java mongodb ssl mongodb-java hibernate-ogm