Spring Mongo查询设置自定义超时

玛丽

我想降低我的spring-mongo Java应用程序中的超时设置(如果数据库不可访问,则查询将在300毫秒后失败)。

我尝试了这个配置:

@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>
玛丽

我在这里找到了答案:https : //scalegrid.io/blog/understanding-mongodb-client-timeout-options/

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Spring Boot中对mongo db存储库进行自定义排序查询?

使用ObjectID的Spring Data Mongo自定义存储库查询

在Spring Data Mongo中设置自定义转换器

Spring Security自定义会话超时陷入无限循环

具有自定义会话超时功能的Spring Security

使用Spring JPA进行自定义查询的IllegalArgument异常?

Spring MVC:自定义查询的JPA存储库错误

在Spring Boot中编写自定义查询

自定义查询 Spring Data JPA 中的参数处理

使用本机查询从Spring Data返回自定义对象

Spring Data REST自定义查询集成

Spring Boot自定义查询分组和计数

Spring数据:自定义查询的限制结果

Spring Data - 带有自定义查询 (HQL) 的 PagingAndSortingRepository?

使用自定义查询时,Spring JPA抛出ClassCastException

Spring存储库中的自定义查询

使用Spring DATA JPA创建自定义查询?

Spring / Hibernate Select Count(*)查询自定义?

Spring Boot JPA设置自定义数据源

Spring Security:如何设置自定义PortMapper?

如何使用 Spring Boot 设置自定义登录?

如何使用Spring Boot从自定义查询中返回带有几个字段的自定义列表?

如何使用查询方法在 JPA 中使用自定义查询(spring boot)

自定义方法Spring mongo存储库不返回任何数据

Spring Data Mongo-自定义AggregtionOption不起作用

Spring CrudRepository在自定义查询方法定义上引发AbstractMethodError

Spring Configuration与流利的设置者或自定义设置者一起使用的属性

自定义查询正则表达式MongoDB + Spring数据

在Spring数据仓库无法创建自定义查询方法