Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring mongo查询设置自定义超时_Java_Spring_Mongodb_Spring Data_Mongo Java Driver - Fatal编程技术网

Java Spring mongo查询设置自定义超时

Java Spring mongo查询设置自定义超时,java,spring,mongodb,spring-data,mongo-java-driver,Java,Spring,Mongodb,Spring Data,Mongo Java Driver,我想降低spring mongo java应用程序中的超时设置(如果数据库不可访问,则查询将在300毫秒后失败) 我尝试了以下配置: @Configuration public class MongoConfiguration { private String mongoUri = "mongodb://127.0.0.1:27017/myDb?connectTimeoutMS=300&socketTimeoutMS=300&waitQueueTimeoutMS=300&

我想降低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选项和生成器都不会更改超时:查询只有在30000ms后才会失败

我不确定应该覆盖哪个参数,也不确定正确覆盖的方法

谢谢你的帮助

    <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>

org.mongodb
mongo java驱动程序
3.4.0
org.springframework.data
spring数据mongodb
1.9.5.1发布
我在这里找到了答案:

@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));
}