在像MongoClientOptions这样的代码中配置options.socketTimeout(30000);感觉很奇怪,我必须重新编译才能在生产中更改设置。我看不到任何通过XML或YAML文件通过构建器加载配置的好方法。

我是否在文档中缺少某些内容,或者有人可以共享一个简洁的实现/代码片段?

最佳答案

我认为驱动程序中没有用于管理如何以及在何处获取这些设置的任何内容。不确定这是驱动程序的工作。.我保留需要的mongo设置的属性文件,并执行以下操作:

import org.apache.commons.configuration.PropertiesConfiguration;
PropertiesConfiguration props = new PropertiesConfiguration();
props.load(fileName);

MongoClientOptions copts = MongoClientOptions.builder()
   .connectionsPerHost(props.getInt("connectionsPerHost", 100))
   .connectTimeout(props.getInt("connectTimeout", 10000))
   ...
   .build();

10-06 11:23