Я пишу простую Vertx Verticle, которая загружает файл конфигурации в методе запуска:
public void start(Promise<Void> startPromise) {}
Я изначально использовал:
public void start( final Future<Void> startFuture )
Но этот метод устарел.
Я использую этот код:
ConfigStoreOptions store = new ConfigStoreOptions().setType("file").setFormat("yaml")
.setConfig(new JsonObject().put("path", MICROSERVICE_CONFIG_FILE));
ConfigRetriever retriever = ConfigRetriever.create(vertx, new ConfigRetrieverOptions().addStore(store));
retriever.getConfig(ar -> {
if (ar.failed()) {
// Failed to retrieve the configuration
logger.error("Error retrieving service configuration");
} else {
config = ar.result();
this.startService(startPromise);
}
});
Затем в рамках метода "startService", который вызывается, я выполняю startPromise.
Каждые несколько секунд я вижу два создаются новые темы:
vert.x-internal-blocking
vert.x-worker-thread-N
Они не создаются, если я не загружаю файл конфигурации. Я неправильно понял, как загрузить файл конфигурации асинхронно с помощью vertx-config?