2012-06-15 14 views
5

値Iは、春には、次のコアのmongoのオプション設定があります。私が知りたいのは何春の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 

次のリンクは、春にはMongoのオプションを設定するには良い助けを提供しますが、書き込み回数値のための十分な特定されていません。 How to configure MongoDB Java driver MongoOptions for production use?

答えて

3

書き込み懸念番号は「ワット」の値であります

FSYNC_SAFEはwrite-fsync(trueまたはfalse)の設定にマップされ、JOURNAL_SAFEもブール値であるため、そこに存在する可能性があります春の同様のブール値の設定ですが、私はそれらのどれでも見つけられませんでした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

あなたは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> 

希望すると、これが役に立ちます。

関連する問題