diff --git a/extensions/opentelemetry/deployment/src/main/java/io/quarkus/opentelemetry/deployment/tracing/instrumentation/InstrumentationProcessor.java b/extensions/opentelemetry/deployment/src/main/java/io/quarkus/opentelemetry/deployment/tracing/instrumentation/InstrumentationProcessor.java index 643ca985291ad..90509ab0d2d5a 100644 --- a/extensions/opentelemetry/deployment/src/main/java/io/quarkus/opentelemetry/deployment/tracing/instrumentation/InstrumentationProcessor.java +++ b/extensions/opentelemetry/deployment/src/main/java/io/quarkus/opentelemetry/deployment/tracing/instrumentation/InstrumentationProcessor.java @@ -29,7 +29,7 @@ import io.quarkus.opentelemetry.runtime.tracing.intrumentation.resteasy.OpenTelemetryClassicServerFilter; import io.quarkus.opentelemetry.runtime.tracing.intrumentation.resteasy.OpenTelemetryReactiveServerFilter; import io.quarkus.resteasy.common.spi.ResteasyJaxrsProviderBuildItem; -import io.quarkus.resteasy.reactive.spi.ContainerRequestFilterBuildItem; +import io.quarkus.resteasy.reactive.spi.CustomContainerRequestFilterBuildItem; import io.quarkus.runtime.LaunchMode; import io.quarkus.vertx.core.deployment.VertxOptionsConsumerBuildItem; import io.vertx.core.VertxOptions; @@ -136,7 +136,7 @@ void registerResteasyClassicAndOrResteasyReactiveProvider( @BuildStep void registerResteasyReactiveProvider( Capabilities capabilities, - BuildProducer containerRequestFilterBuildItemBuildProducer) { + BuildProducer containerRequestFilterBuildItemBuildProducer) { boolean isResteasyReactiveAvailable = capabilities.isPresent(Capability.RESTEASY_REACTIVE); @@ -146,8 +146,7 @@ void registerResteasyReactiveProvider( } containerRequestFilterBuildItemBuildProducer - .produce(new ContainerRequestFilterBuildItem.Builder(OpenTelemetryReactiveServerFilter.class.getName()) - .build()); + .produce(new CustomContainerRequestFilterBuildItem(OpenTelemetryReactiveServerFilter.class.getName())); } } diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/resteasy/OpenTelemetryReactiveServerFilter.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/resteasy/OpenTelemetryReactiveServerFilter.java index e60747a321edc..ddf382a32f648 100644 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/resteasy/OpenTelemetryReactiveServerFilter.java +++ b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/resteasy/OpenTelemetryReactiveServerFilter.java @@ -2,11 +2,7 @@ import java.io.IOException; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.container.ContainerRequestFilter; -import javax.ws.rs.core.Context; -import javax.ws.rs.ext.Provider; - +import org.jboss.resteasy.reactive.server.ServerRequestFilter; import org.jboss.resteasy.reactive.server.SimpleResourceInfo; import io.opentelemetry.api.trace.Span; @@ -16,14 +12,10 @@ /** * Handles RESTEasy Reactive (via Vert.x) */ -@Provider -public class OpenTelemetryReactiveServerFilter implements ContainerRequestFilter { - - @Context - SimpleResourceInfo resourceInfo; +public class OpenTelemetryReactiveServerFilter { - @Override - public void filter(ContainerRequestContext requestContext) throws IOException { + @ServerRequestFilter + public void filter(SimpleResourceInfo resourceInfo) throws IOException { Span localRootSpan = LocalRootSpan.current(); localRootSpan.setAttribute(SemanticAttributes.CODE_NAMESPACE, resourceInfo.getResourceClass().getName());