如何从文件加载Java Mongo驱动程序的MongoClientOptions?

时间:2016-10-10 09:21:58

标签: java mongodb

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

我是否遗漏了文档中的内容,或者有人可以分享一个简洁的实现/片段?

1 个答案:

答案 0 :(得分:2)

我认为驱动程序中没有任何内容可用于管理从何处以及从何处获取这些设置。不确定它是驱动程序的工作..我保留属性文件所需的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();