Как загрузить MongoClientOptions драйвера Java Mongo из файла?

#java #mongodb

#java #mongodb

Вопрос:

Странно настраивать MongoClientOptions внутри моего кода, например options.socketTimeout(30000); , когда я должен перекомпилировать, чтобы изменить настройки в рабочей среде. Я не вижу хорошего способа загрузить конфигурацию через конструктор из файла XML или YAML.

Я что-то упустил в документах, или есть аккуратная реализация / фрагмент, которым кто-то может поделиться?

Ответ №1:

Я не думаю, что в драйвере есть что-то для управления тем, как и откуда вы получаете эти настройки. Не уверен, что это работа драйверов .. я сохраняю файл свойств с необходимыми настройками 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();