2012-06-15 21 views
5

tengo la configuración de opciones de mongo siguiente núcleo en primavera:primavera mongodb escribir-preocupación valora

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

Lo que yo quiero saber es acerca de las diferentes opciones de números de escritura que es relevante para escribir preocupación como ninguna, normal, seguro, etc.

¿Puedo asumir la asignación del número de escritura a writeconcern como a continuación?

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

siguiente enlace ha proporcionado una buena ayuda para configurar las opciones de mongo en primavera, pero no lo suficientemente específica para los valores de números de escritura: How to configure MongoDB Java driver MongoOptions for production use?

Respuesta

3

El número escritura preocupación es el valor de "W", que asigna el número de réplicas a las que se debe propagar la escritura antes de que se considere exitoso cuando w> 1.

FSYNC_SAFE se asigna a establecer write-fsync (verdadero o falso) y dado que JOURNAL_SAFE también es un valor booleano, sospecho que hay una configuración booleana similar en primavera, pero no pude encontrarla en ninguno de sus d ocs.

Si usted tiene todo instalado para probar esto empíricamente, sólo tratar varias configuraciones y compruebe la configuración real de la preocupación de escritura resultante con algo como:

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

que se debe mostrar configuración Diario, el establecimiento de Fsync (ambos booleanos), W (como un int).

1

Usted puede confiture write-preocupación = "RECONOCIDO".

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

Espero que esto ayude.

Cuestiones relacionadas