MongoClient 不遵守 connectTimeout

MongoClient not respecting connectTimeout

我正在尝试为 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 and this post描述了如何设置超时。

有没有人遇到类似的问题并解决了?

如果你想测试服务器连接,你应该使用MongoClientOptions.builder().serverSelectionTimeout(500).build()。如果您想测试它们,可以设置的其他属性是:

  • 连接超时
  • 套接字超时
  • heartbeatConnectTimeout
  • heartbeatSocketTimeout