Я хотел бы снизить значение тайм-аута в приложении java Spring-Mongo (запрос должен завершиться с ошибкой через 300 мс, если база данных недоступна).Запросы Spring mongo set custom timeout
Я попробовал этот конфиг:
@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;
}
}
Но варианты mongoUri ни строитель изменить таймаут: запрос не выполняется только после 30 000ms.
Я не уверен, какой параметр мне следует переопределить или как правильно его выполнить.
Спасибо за вашу помощь
<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>