quarkusio/quarkus · error · VertxException
HttpBinderConfiguration was not found
Error message
HttpBinderConfiguration was not found
What it means
Vert.x calls this adapter's createHttpServerMetrics when an HTTP server starts; VertxMeterBinderAdapter needs an injected HttpBinderConfiguration to know whether/what HTTP server metrics to collect. When that configuration is null the adapter cannot build metrics and throws VertxException. Null configuration means the micrometer HTTP binder was not wired by the build (e.g. the HTTP-related micrometer config was not produced at build time).
Source
Thrown at extensions/micrometer/runtime/src/main/java/io/quarkus/micrometer/runtime/binder/vertx/VertxMeterBinderAdapter.java:72
public VertxMetricsFactory getFactory() {
return this;
}
@Override
public VertxMetrics metrics(VertxOptions vertxOptions) {
return this;
}
@Override
public MetricsOptions newOptions() {
return this;
}
@Override
public HttpServerMetrics<?, ?> createHttpServerMetrics(final HttpServerConfig options,
final SocketAddress tcpLocalAddress, final SocketAddress localAddress) {
if (httpBinderConfiguration == null) {
throw new VertxException("HttpBinderConfiguration was not found");
}
if (openTelemetryContextUnwrapper == null) {
throw new VertxException("OpenTelemetryContextUnwrapper was not found");
}
if (httpBinderConfiguration.isServerEnabled()) {
log.debugf("Create HttpServerMetrics with options %s and address %s", options, localAddress);
return new VertxHttpServerMetrics(Metrics.globalRegistry, httpBinderConfiguration, openTelemetryContextUnwrapper,
options, longAdderGauges);
}
return null;
}
@Override
public HttpClientMetrics<?, ?> createHttpClientMetrics(HttpClientConfig config) {
if (httpBinderConfiguration == null) {
return null;
}
if (httpBinderConfiguration.isClientEnabled()) {View on GitHub (pinned to e1c734241f)
Solutions
- Ensure quarkus-micrometer is properly paired with the HTTP extension in use and rebuild (mvn clean install) so the build step producing HttpBinderConfiguration runs
- Check quarkus.micrometer.binder.http-server.enabled=true (or leave default) so the HTTP binder config is produced
- If constructing VertxMeterBinderAdapter manually (tests), set httpBinderConfiguration before Vert.x creates server metrics
- Verify no version mismatch between quarkus-vertx-http and quarkus-micrometer; align versions via the Quarkus BOM
Example fix
// before (manual construction in a test)
VertxMeterBinderAdapter adapter = new VertxMeterBinderAdapter();
// httpBinderConfiguration == null -> VertxException
// after
VertxMeterBinderAdapter adapter = new VertxMeterBinderAdapter();
adapter.httpBinderConfiguration = HttpBinderConfiguration.activate(
true, false, List.of(), List.of()); Defensive patterns
Strategy: validation
Validate before calling
if (adapter.httpBinderConfiguration == null) {
throw new IllegalStateException("Wire HttpBinderConfiguration before Vert.x creates server metrics");
} Try / catch
try {
HttpServerMetrics<?, ?> m = adapter.createHttpServerMetrics(options, tcpAddr, localAddr);
} catch (VertxException e) {
log.errorf("HTTP metrics binder misconfigured: %s", e.getMessage());
throw e;
} Prevention
- Keep quarkus-micrometer and the HTTP extension on the same Quarkus BOM version
- Don't construct VertxMeterBinderAdapter manually without setting both configuration fields
- Enable the HTTP binder explicitly: quarkus.micrometer.binder.http-server.enabled=true
When it happens
Trigger: Vert.x creates an HTTP server (e.g. quarkus-vertx-http or reactive routes) while the micrometer extension's HttpBinderConfiguration bean was absent — e.g. quarkus-micrometer present but the HTTP metrics binder not initialized, or the adapter constructed manually/partially in tests with httpBinderConfiguration left null.
Common situations: Using Vert.x HTTP server directly in an app where micrometer registry exists but HTTP binder config wasn't created (micrometer added but relevant HTTP extension versions mismatched); constructing VertxMeterBinderAdapter in unit tests without setting the config field; extension ordering/conditional build issues after upgrading quarkus-micrometer or vertx-http.
Related errors
- OpenTelemetryContextUnwrapper was not found
- Failed to find any non-blocking provider for startup actions
- No Vert.x instance has been registered in ArC ?
- No valueExpressionResolver is defined
- Failed to instantiate {{VIRTUAL_THREAD_BINDER_CLASSNAME}}
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/99cdd7eb4cb4cd92.
Report an issue: GitHub.