2013-11-28 11 views
2

Я настроил Spring с MongoDB на моей локальной машине без репликации, и все работает нормально. У меня также есть набор реплик, который отлично работает.Репликация MongoDB с Spring

Теперь я попытался добавить набор реплик, но чтение/запись по-прежнему идут на мою локальную машину!

Это моя конфигурация, host1-3 виртуальные машины:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:mongo="http://www.springframework.org/schema/data/mongo" 
xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-2.0.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-2.0.xsd 
        http://www.springframework.org/schema/data/mongo 
        http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd"> 

<mongo:repositories base-package="my.repositories" /> 

<mongo:mongo replica-set="host1:27017,host2:27017,host3:27017" /> 

<mongo:db-factory dbname="my_db" /> 

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> 
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> 
</bean> 

у кого есть идеи/предложения? Благодаря!

Редактировать: Хорошо, поэтому я нашел проблему, просто нужно было добавить mongo-ref на заводе. Таким образом, правильная конфигурация:

<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017" /> 

<mongo:db-factory dbname="my_db" mongo-ref="mongo" /> 

ответ

4

Хорошо, поэтому я нашел проблему, просто нужно было добавить mongo-ref на завод. Таким образом, правильная конфигурация:

<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017"> 
<mongo:db-factory dbname="my_db" mongo-ref="mongo" /> 
0

Записи всегда будут первыми. Считывание переходит к основному по умолчанию, если вы не изменили Read Preference при использовании Java driver.

+0

Я знаю, но основная не моя локальная машина, это host1 (VM). Проблема заключается в том, что как чтение, так и запись переходят на локальный хост вместо VM (это то, что я пытался настроить весной). – Ayelet

Смежные вопросы