В моем многопрофильном приложении я хотел бы загрузить конфиг один раз, а затем вставить полученный JsonObject
в каждую вертикалку, используя koin.Проблема в том, что ConfigRetriever
не ведет себя так, как я ожидал.Рассмотрим следующий пример:
class MainVerticle : AbstractVerticle() {
override fun start() {
val retriever = ConfigRetriever.create(vertx)
val config = ConfigRetriever.getConfigAsFuture(retriever).result()
println(config)
}
}
Интуитивно я ожидаю, что это загрузит файл конфигурации в /resources/conf/config.json
и напечатает все пары ключ / значение.Вместо этого он печатает null
.Однако, если я изменю третью строку на:
val retriever = ConfigRetriever.create(Vertx.vertx())
, тогда JsonObject
заполняется свойствами моего файла config.json
.
Документы Future#result
указываютследующий
Результат операции.Это будет нулевым, если операция не удалась.
То есть операция прошла успешно, но конфигурация не загружена?
Я не совсем понимаю, почему я должен создать новыйvertx
экземпляр для загрузки конфигурации.Что мне здесь не хватает?