Spring Data Mongodb WriteConcern working?

Viewed 911

I have the following Spring Data MongoDb Repository Java configuration:

@EnableMongoRepositories(basePackages= {"com.example.repositories.mongodb"})
public class MongoConfig extends AbstractMongoConfiguration {

    private @Value("${mongo.host}") String mongoHost;
    private @Value("${mongo.port}") int mongoPort;
    private @Value("${mongo.database}") String mongoDatabase;

    @Override
    protected String getDatabaseName() {
        return mongoDatabase;
    }

    @Override
    public Mongo mongo() throws Exception {

        MongoClientOptions options = MongoClientOptions.builder()
                .connectionsPerHost(100)
                .connectTimeout(120000)
                .socketTimeout(120000)
                .maxWaitTime(1200000)
                .threadsAllowedToBlockForConnectionMultiplier(1500)
                .writeConcern(WriteConcern.ACKNOWLEDGED)
            .build();

        MongoClient client = new MongoClient(new ServerAddress(mongoHost, mongoPort), options);

        return client;
    }

    public @Bean PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
        return new PersistenceExceptionTranslationPostProcessor();
    }
}

I am trying to figure out if the writeConcern is really turned on due to some jUnits not working when running repeatedly. If I place a breakpoint after the client is created above and inspect the client object I can see its property WriteConcern equals:

{w=null, wTimeout=null ms, fsync=null, journal=null}

Which suggests to me that it was not set to ACKNOWLEDGED.

Am I setting it properly and is there a way to see if the correct concern is set? None of the logger options I tried made it output.

My dependencies are:

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.5.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>${spring.data.mongodb}</version>
</dependency>
0 Answers
Related