Las consultas de Spring Mongo establecen un tiempo de espera personalizado

Me gustaría reducir la configuración del tiempo de espera en mi aplicación Java Spring-Mongo (la consulta debería fallar después de 300 ms si la base de datos no es accesible).

Probé esta configuración:

@Configuration
public class MongoConfiguration {

private String mongoUri = "mongodb://127.0.0.1:27017/myDb?connectTimeoutMS=300&socketTimeoutMS=300&waitQueueTimeoutMS=300&wtimeoutMS=300";

@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
    Builder options = new MongoClientOptions.Builder().socketTimeout(300).connectTimeout(300).maxWaitTime(300);
    return new SimpleMongoDbFactory(new MongoClientURI(mongoUri, options));
}

@Bean
public MongoTemplate mongoTemplate() throws Exception {
    MongoDbFactory mongoDbFactory = mongoDbFactory();
    MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory);
    return mongoTemplate;
}

}

Pero las opciones de mongoUri ni el constructor cambian el tiempo de espera: la consulta falla solo después de 30 000 ms.

No estoy seguro de qué parámetro debo anular ni la forma de hacerlo correctamente.

Gracias por tu ayuda

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.4.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-mongodb</artifactId>
        <version>1.9.5.RELEASE</version>
    </dependency>

Respuestas a la pregunta(1)

Su respuesta a la pregunta