2012-06-15 17 views
5

mam konfigurację opcji Mongo następujące podstawowe wiosną:wiosna MongoDB zapisu dotyczą wartości

<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> 

Co chcę wiedzieć, o różnych opcji zapisu numer, który jest istotny dla napisać zaniepokojenie jak nikt, normalny, sejf itd.

Czy mogę założyć mapowanie numeru zapisu na napisany tekst jak poniżej?

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

poniższy link zapewnił dobrą pomoc, aby ustawić opcje Mongo na wiosnę, ale nie na tyle specyficzne dla wartości zapisu numer: How to configure MongoDB Java driver MongoOptions for production use?

Odpowiedz

3

Numer zapisu problemem jest wartość „W”, które mapuje liczbę replik, do której musi się propagować zapis, zanim zostanie uznana za pomyślną, gdy w> 1.

FSYNC_SAFE odwzorowuje ustawienia write-fsync (true lub false), a ponieważ JOURNAL_SAFE jest wartością boolowską, podejrzewam, że istnieje podobne ustawienie boolowskie na wiosnę, ale nie mogłem go znaleźć w żadnym z nich ocs.

Jeśli masz wszystko zainstalowane, aby przetestować ten się empirycznie, po prostu spróbuj kilka konfiguracji i sprawdzić aktualne ustawienie uzyskanego zapisu troski o czymś takim:

 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()); 

To powinno pokazać ci ustawienie Journal, ustawienie Fsync (zarówno boolean), W (jako int).

1

Możesz skonfundować 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> 

nadzieję, że może pomóc.

Powiązane problemy