MongoClient 不尊重 connectTimeout
Posted
技术标签:
【中文标题】MongoClient 不尊重 connectTimeout【英文标题】:MongoClient not respecting connectTimeout 【发布时间】:2015-03-13 10:59:46 【问题描述】:我正在尝试为 MongoClient(驱动程序版本 2.13)设置连接超时。
它挂起 10 秒然后超时。我需要快速超时,因为此代码用于测试。
这是我的代码:
String connectionUri = properties.getProperty("application.mongo.url");
System.out.println("****** "+ connectionUri + "*******");
MongoClientOptions mongoClientOptions = MongoClientOptions.builder()
.connectTimeout(500)
.build();
MongoClient mongoClient = new MongoClient(connectionUri, mongoClientOptions);
javadoc is describes the connectTimeout 和 this post 描述了如何设置超时。
有没有人遇到过类似的问题并解决了?
【问题讨论】:
您能否提供一个与选项一起使用的连接字符串示例? 也设置socketTimeout
,解决快速失败问题? api.mongodb.org/java/2.13/com/mongodb/…
【参考方案1】:
如果你想测试服务器连接,你应该使用MongoClientOptions.builder().serverSelectionTimeout(500).build()
。如果您想测试它们,要设置的其他属性是:
【讨论】:
以上是关于MongoClient 不尊重 connectTimeout的主要内容,如果未能解决你的问题,请参考以下文章
com.mongodb.client.MongoClient 和 com.mongodb.MongoClient 的区别
UserWarning: MongoClient 在 fork 之前打开。仅在 fork 后创建 MongoClient