Java 使用Spring的MongoDB复制
我在本地机器上用MongoDB配置了Spring,没有复制,一切正常。 我还有一个复制集,可以正常工作 现在我尝试添加副本集,但读/写操作仍会转到本地计算机 这是我的配置,主机1-3是虚拟机:Java 使用Spring的MongoDB复制,java,spring,mongodb,spring-mvc,database-replication,Java,Spring,Mongodb,Spring Mvc,Database Replication,我在本地机器上用MongoDB配置了Spring,没有复制,一切正常。 我还有一个复制集,可以正常工作 现在我尝试添加副本集,但读/写操作仍会转到本地计算机 这是我的配置,主机1-3是虚拟机: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in
<?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" />
<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017">
<mongo:db-factory dbname="my_db" mongo-ref="mongo" />
写入操作将始终转到主服务器。默认情况下,读操作将转到主操作,除非在使用中更改。写入操作将始终转到主操作。默认情况下,读取将转到主目录,除非您在使用中更改。确定,因此我发现了问题,只需将mongo ref添加到工厂。因此,正确的配置是:
<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017" />
<mongo:db-factory dbname="my_db" mongo-ref="mongo" />
<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017">
<mongo:db-factory dbname="my_db" mongo-ref="mongo" />
好的,所以我发现了问题,只需要将mongo ref添加到工厂。因此,正确的配置是:
<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017" />
<mongo:db-factory dbname="my_db" mongo-ref="mongo" />
<mongo:mongo id="mongo" replica-set="host1:27017,host2:27017,host3:27017">
<mongo:db-factory dbname="my_db" mongo-ref="mongo" />
我知道,但主计算机不是我的本地计算机,而是主机1(VM)。问题是读写操作都会转到本地主机,而不是VM(这是我试图配置spring所要做的)。我知道,但主主机不是我的本地机器,它是host1(VM)。问题是读和写都会转到本地主机,而不是VM(这就是我试图配置spring的目的)。