Vertx - InfluxDB 指标保持连接打开
Vertx - InfluxDB metrics keeping connection open
我正在尝试通过 InfluxDB 实例将指标报告合并到我的 Vertx 应用程序中。但是,当我尝试优雅地结束我的应用程序时,某处有一个挂起的线程。我设法将它追踪到用于 vertx 指标报告的 InfluxDB 连接,或者看起来是这样,但我没有找到终止它的方法。谁能指出我正确的方向?
一个最小的工作示例(如果禁用指标,应用程序会正常完成,否则会挂起):
import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;
import io.vertx.micrometer.MicrometerMetricsOptions;
import io.vertx.micrometer.VertxInfluxDbOptions;
import io.vertx.micrometer.backends.BackendRegistries;
public class MWE {
public static void main(String[] args) {
//setting up the metric options for influxdb. seems to work in MWE without credentials
MicrometerMetricsOptions metricsOptions = new MicrometerMetricsOptions()
.setRegistryName("data-client")
.setInfluxDbOptions(new VertxInfluxDbOptions()
//disabling this would make sure the application _does_ gracefully exit
.setEnabled(true)
)
.setEnabled(true);
//setting up the vertx instance
Vertx vertx = Vertx.vertx(
new VertxOptions()
.setMetricsOptions(metricsOptions)
.setWorkerPoolSize(50)
);
//stop vertx after a second
vertx.setTimer(1000, timerID -> {
//closing the vertx instance
vertx.close(result -> System.out.println("Vertx was closed."));
//closing the registry of metrics to influxdb
BackendRegistries.getNow("data-client").close();
System.out.println("Closed everything");
});
System.out.println("Done with main");
}
}
如 GitHub 问题跟踪器 (https://github.com/vert-x3/vertx-micrometer-metrics/issues/36) 中所述,这是 1.0.0 版 micrometrics 中的一个问题。将版本升级到 1.0.5 暂时修复了 bug,等待 vertx-micrometer-metrics 更新对 micrometer 的依赖。
我正在尝试通过 InfluxDB 实例将指标报告合并到我的 Vertx 应用程序中。但是,当我尝试优雅地结束我的应用程序时,某处有一个挂起的线程。我设法将它追踪到用于 vertx 指标报告的 InfluxDB 连接,或者看起来是这样,但我没有找到终止它的方法。谁能指出我正确的方向?
一个最小的工作示例(如果禁用指标,应用程序会正常完成,否则会挂起):
import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;
import io.vertx.micrometer.MicrometerMetricsOptions;
import io.vertx.micrometer.VertxInfluxDbOptions;
import io.vertx.micrometer.backends.BackendRegistries;
public class MWE {
public static void main(String[] args) {
//setting up the metric options for influxdb. seems to work in MWE without credentials
MicrometerMetricsOptions metricsOptions = new MicrometerMetricsOptions()
.setRegistryName("data-client")
.setInfluxDbOptions(new VertxInfluxDbOptions()
//disabling this would make sure the application _does_ gracefully exit
.setEnabled(true)
)
.setEnabled(true);
//setting up the vertx instance
Vertx vertx = Vertx.vertx(
new VertxOptions()
.setMetricsOptions(metricsOptions)
.setWorkerPoolSize(50)
);
//stop vertx after a second
vertx.setTimer(1000, timerID -> {
//closing the vertx instance
vertx.close(result -> System.out.println("Vertx was closed."));
//closing the registry of metrics to influxdb
BackendRegistries.getNow("data-client").close();
System.out.println("Closed everything");
});
System.out.println("Done with main");
}
}
如 GitHub 问题跟踪器 (https://github.com/vert-x3/vertx-micrometer-metrics/issues/36) 中所述,这是 1.0.0 版 micrometrics 中的一个问题。将版本升级到 1.0.5 暂时修复了 bug,等待 vertx-micrometer-metrics 更新对 micrometer 的依赖。