使用hibernate OGM为mongoDB启用java SSL
我正在使用hibernate OGM与mongoDB交互。作为业务需求的一部分,我需要为mongodb和java应用程序之间的通信启用ssl
我在mongodb文档中看到,使用mongodb java驱动程序,只需在连接字符串中将ssl标志转换为true即可。在hibernate中如何执行此操作
====根据唯一给定答案进行更新=====
Hibernate OGM版本4.2使用mongodb Java驱动程序版本2.13,该版本不包括MongoClient中的ssl属性。生成器类。我无法升级hibernateOGM版本,因为它仍然是beta版或alpha版。我尝试显式升级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)。但hibernate OGM 4.2似乎没有使用以下属性来使用SSLSocketFactory创建mongo客户端:
hibernate.ogm.mongodb.driver.socketFactory=SSLSocketFactory
# 1 楼答案
可以使用以下属性启用SSL:
您还可以设置:
HIbernate OGM使用
com.mongodb.MongoClient
,您可以使用前缀hibernate.ogm.mongodb.driver
设置com.mongod.MongoClientOptions
中的所有属性查看documentation和MongoClient.Builder以了解更多详细信息