繁体   English   中英

如何在Hibernate和MongoDB中使用副本集种子列表

[英]How do I use a replica set seed list with Hibernate and MongoDB

我有一个用Java编写的应用程序,该应用程序是我控制之前由其他人编写的。 我们正在使用具有副本集的MongoDB。 我知道,为了正确使用副本集,您需要向驱动程序传递与副本集关联的所有服务器的“种子列表”,以便它选择主副本集。

问题在于该应用程序正在使用Hibernate连接到MongoDB。 有没有办法在Hibernate xml配置文件中指定种子列表? 以下是我们在应用程序中配置的示例。

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.ogm.datastore.provider">MONGODB</property>
        <property name="dialect">org.hibernate.ogm.dialect.mongodb.MongoDBDialect</property>
        <property name="hibernate.ogm.mongodb.database">databasename</property>
        <property name="hibernate.ogm.mongodb.host">192.168.1.10</property>
        <property name="hibernate.ogm.mongodb.port">27017</property>
        <mapping resource="mongodb.hbm.xml" />
    </session-factory>
</hibernate-configuration>

我试图在该配置的属性列表中找到文档,但没有发现为种子列表指定多个主机。 hibernate.ogm.mongodb.host是我唯一可以找到的东西,据我所知,它仅支持1个主机。

关于如何使用Hibernate使当前应用程序与副本集种子列表一起工作的任何想法?

Hibernate OGM的最新版本通过以下属性支持此功能:

hibernate.ogm.datastore.host

这是一个有效值的示例:

www.example.com, www2.example.com:123, 192.0.2.1, 192.0.2.2:123, 2001:db8::ff00:42:8329, [2001:db8::ff00:42:8329]:123

默认值为127.0.0.1:27017。 如果未定义,则默认端口为27017。

官方文档中有更多详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM