У меня есть приложение, написанное на Java и ранее написанное кем-то еще, прежде чем я получил контроль над ним. Мы используем MongoDB с набором реплик. Я знаю, что для правильного использования набора реплик вам необходимо передать драйверу «список посещений» всех серверов, связанных с набором реплик, чтобы он выбирал первичный.Как использовать список посещений набора реплик с Hibernate и MongoDB
Проблема в том, что приложение использует Hibernate для подключения к MongoDB. Есть ли способ указать список семян внутри файла конфигурации xibernate 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 использует для подключения к MongoDB, и это не выглядит, как он поддерживает наборы реплик, он принимает один хост и порт. [Код здесь] (https://github.com/hibernate/hibernate-ogm/blob/master/mongodb/src/main/java/org/hibernate/ogm/datastore/mongodb/impl/MongoDBDatastoreProvider.java). – Trisha
Я сделал то же самое и пришел к такому же выводу. Это довольно разочаровывает. – vane