我有一个用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使当前应用程序与副本集种子列表一起工作的任何想法?
答案 0 :(得分:0)
最新版本的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。
中有更多详情