gpt4 book ai didi

java - 使用 vertx-config 异步加载配置文件

转载 作者:行者123 更新时间:2023-12-02 08:51:09 30 4
gpt4 key购买 nike

我正在编写一个简单的 vertx Verticle,它在 start 方法中加载配置文件:

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 异步加载配置文件?

最佳答案

来自 ConfigurationRetriever 文档:

The Configuration Retriever periodically retrieve the configuration, and if the outcome is different from the current one, your application can be reconfigured. By default, the configuration is reloaded every 5 seconds.

https://vertx.io/docs/vertx-config/java/#_listening_for_configuration_changes

这就是你所看到的。

关于java - 使用 vertx-config 异步加载配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60762483/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com