2012-06-15 2 views
5

I 봄에 다음과 같은 핵심 몽고 옵션 구성이 :봄 쓰기 우려가 MongoDB를 값

정상 없음 같은 우려를 작성하는 관련에 대해 다른 쓰기 수 옵션이다 내가 알고 싶은
<mongo:mongo host="${db.hostname}" > 
    <mongo:options 
    connections-per-host="40" 
    threads-allowed-to-block-for-connection-multiplier="1500" 
    connect-timeout="15000" 
    auto-connect-retry="true" 
    socket-timeout="60000" 
    write-number="1" 
    write-fsync="false"/> 
</mongo:mongo> 

, 안전한 등

write-number와 writeconcern의 매핑을 아래와 같이 가정 할 수 있습니까?

NONE: -1 
NORMAL: 0 
SAFE: 1 (default) 
FSYNC_SAFE: 2 
REPLICAS_SAFE: 3 
JOURNAL_SAFE: 4 
MAJORITY: 5 

다음 링크는 봄에서 몽고 옵션을 설정하는 것이 도움을 제공하지만, 쓰기 숫자 값만큼 특정되지 않은 : How to configure MongoDB Java driver MongoOptions for production use?

답변

3

의 쓰기 문제 번호가 "W"의 값이다

FSYNC_SAFE는 write-fsync (true 또는 false) 설정에 매핑되고 JOURNAL_SAFE도 부울 값이기 때문에 의심되는 부분이 있다고 생각됩니다. Spring의 비슷한 부울 설정이지만 해당 D에서 찾을 수는 없습니다. ocs.

당신은 모든 설치는 단지 몇 가지 구성을 시도하고 같은과 결과 쓰기 문제의 실제 설정을 확인, 경험적으로이 문제를 테스트해야하는 경우 : (당신 저널 설정을 표시해야합니다

 WriteConcern wc = new WriteConcern(); // should get your default write concern 
     System.out.println(wc.getJ()); 
     System.out.println(wc.getFsync()); 
     System.out.println(wc.getW()); 

, fsync를이 설정을 두 부울), W (int).

1

당신은 confiture write-concern = "ACKNOWLEDGED"할 수 있습니다.

<mongo:mongo id="replicaSetMongo" replica-set="${mongo.replicaSetSevers}" /> 
    <mongo:db-factory dbname="${mongo.dbname}" mongo-ref="replicaSetMongo" write-concern="ACKNOWLEDGED" /> 
    <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> 
     <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> 
    </bean> 

희망이 도움이 될 것입니다.