From f92e3fb8c646edff1c357a9057fe66442e29e45b Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Tue, 27 Aug 2024 09:32:24 +0300 Subject: [PATCH] Add support for cxf 4.0 jaxws (#12077) --- .../cxf/CxfServerSpanNaming.java | 39 ----------- .../jaxws-2.0-tomee-testing/build.gradle.kts | 2 +- .../build.gradle.kts | 2 +- .../build.gradle.kts | 27 ++++++++ .../src/test/groovy/CxfJaxWsTest.groovy | 0 .../src/test/groovy/TestWsServlet.groovy | 37 +++++++++++ .../test/resources/test-app/WEB-INF/web.xml | 0 .../javaagent-unit-tests/build.gradle.kts | 2 +- .../cxf/TracingStartInInterceptorTest.java | 0 .../javaagent/build.gradle.kts | 5 +- .../instrumentation/cxf/CxfHelper.java | 0 .../cxf/CxfInstrumentationModule.java | 0 .../instrumentation/cxf/CxfRequest.java | 0 .../cxf/CxfServerSpanNaming.java | 66 +++++++++++++++++++ .../instrumentation/cxf/CxfSingletons.java | 2 +- ...JaxWsServerFactoryBeanInstrumentation.java | 0 .../cxf/TracingEndInInterceptor.java | 0 .../cxf/TracingOutFaultInterceptor.java | 0 .../cxf/TracingStartInInterceptor.java | 0 .../src/test/groovy/CxfJaxWsTest.groovy | 7 ++ .../src/test/groovy/TestWsServlet.groovy | 0 .../test/resources/test-app/WEB-INF/web.xml | 17 +++++ settings.gradle.kts | 5 +- 23 files changed, 165 insertions(+), 46 deletions(-) delete mode 100644 instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java create mode 100644 instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/build.gradle.kts rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0/javaagent => jaxws-3.0-cxf-4.0-testing}/src/test/groovy/CxfJaxWsTest.groovy (100%) create mode 100644 instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/groovy/TestWsServlet.groovy rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0/javaagent => jaxws-3.0-cxf-4.0-testing}/src/test/resources/test-app/WEB-INF/web.xml (100%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent-unit-tests/build.gradle.kts (78%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent-unit-tests/src/test/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptorTest.java (100%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/build.gradle.kts (90%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfHelper.java (100%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfInstrumentationModule.java (100%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfRequest.java (100%) create mode 100644 instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfSingletons.java (97%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/JaxWsServerFactoryBeanInstrumentation.java (100%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingEndInInterceptor.java (100%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingOutFaultInterceptor.java (100%) rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptor.java (100%) create mode 100644 instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/groovy/CxfJaxWsTest.groovy rename instrumentation/jaxws/{jaxws-2.0-cxf-3.0 => jaxws-cxf-3.0}/javaagent/src/test/groovy/TestWsServlet.groovy (100%) create mode 100644 instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/resources/test-app/WEB-INF/web.xml diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java b/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java deleted file mode 100644 index 96c5a74f16d2..000000000000 --- a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.cxf; - -import io.opentelemetry.api.trace.Span; -import io.opentelemetry.context.Context; -import io.opentelemetry.instrumentation.api.instrumenter.LocalRootSpan; -import io.opentelemetry.javaagent.bootstrap.servlet.ServletContextPath; -import javax.servlet.http.HttpServletRequest; - -public final class CxfServerSpanNaming { - - public static void updateServerSpanName(Context context, CxfRequest cxfRequest) { - String spanName = cxfRequest.spanName(); - if (spanName == null) { - return; - } - - Span serverSpan = LocalRootSpan.fromContextOrNull(context); - if (serverSpan == null) { - return; - } - - HttpServletRequest request = (HttpServletRequest) cxfRequest.message().get("HTTP.REQUEST"); - if (request != null) { - String servletPath = request.getServletPath(); - if (!servletPath.isEmpty()) { - spanName = servletPath + "/" + spanName; - } - } - - serverSpan.updateName(ServletContextPath.prepend(context, spanName)); - } - - private CxfServerSpanNaming() {} -} diff --git a/instrumentation/jaxws/jaxws-2.0-tomee-testing/build.gradle.kts b/instrumentation/jaxws/jaxws-2.0-tomee-testing/build.gradle.kts index a434c6f65982..779f42848838 100644 --- a/instrumentation/jaxws/jaxws-2.0-tomee-testing/build.gradle.kts +++ b/instrumentation/jaxws/jaxws-2.0-tomee-testing/build.gradle.kts @@ -11,7 +11,7 @@ dependencies { testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent")) testInstrumentation(project(":instrumentation:jaxws:jaxws-2.0:javaagent")) - testInstrumentation(project(":instrumentation:jaxws:jaxws-2.0-cxf-3.0:javaagent")) + testInstrumentation(project(":instrumentation:jaxws:jaxws-cxf-3.0:javaagent")) testInstrumentation(project(":instrumentation:jaxws:jaxws-jws-api-1.1:javaagent")) } diff --git a/instrumentation/jaxws/jaxws-2.0-wildfly-testing/build.gradle.kts b/instrumentation/jaxws/jaxws-2.0-wildfly-testing/build.gradle.kts index 5d730662724a..62beaa709a54 100644 --- a/instrumentation/jaxws/jaxws-2.0-wildfly-testing/build.gradle.kts +++ b/instrumentation/jaxws/jaxws-2.0-wildfly-testing/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { testInstrumentation(project(":instrumentation:servlet:servlet-3.0:javaagent")) testInstrumentation(project(":instrumentation:jaxws:jaxws-2.0:javaagent")) - testInstrumentation(project(":instrumentation:jaxws:jaxws-2.0-cxf-3.0:javaagent")) + testInstrumentation(project(":instrumentation:jaxws:jaxws-cxf-3.0:javaagent")) testInstrumentation(project(":instrumentation:jaxws:jaxws-jws-api-1.1:javaagent")) // wildfly version used to run tests diff --git a/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/build.gradle.kts b/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/build.gradle.kts new file mode 100644 index 000000000000..c6d53b53b53e --- /dev/null +++ b/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/build.gradle.kts @@ -0,0 +1,27 @@ +plugins { + id("otel.javaagent-testing") +} + +dependencies { + testLibrary("org.apache.cxf:cxf-rt-frontend-jaxws:4.0.0") + testLibrary("org.apache.cxf:cxf-rt-transports-http:4.0.0") + + testImplementation("jakarta.servlet:jakarta.servlet-api:5.0.0") + testImplementation(project(":instrumentation:jaxws:jaxws-3.0-common-testing")) + + testInstrumentation(project(":instrumentation:jaxws:jaxws-cxf-3.0:javaagent")) + + testInstrumentation(project(":instrumentation:servlet:servlet-5.0:javaagent")) + testInstrumentation(project(":instrumentation:jetty:jetty-11.0:javaagent")) +} + +otelJava { + minJavaVersionSupported.set(JavaVersion.VERSION_17) +} + +tasks.withType().configureEach { + // required on jdk17 + jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED") + jvmArgs("-XX:+IgnoreUnrecognizedVMOptions") + jvmArgs("-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true") +} diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/test/groovy/CxfJaxWsTest.groovy b/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/groovy/CxfJaxWsTest.groovy similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/test/groovy/CxfJaxWsTest.groovy rename to instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/groovy/CxfJaxWsTest.groovy diff --git a/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/groovy/TestWsServlet.groovy b/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/groovy/TestWsServlet.groovy new file mode 100644 index 000000000000..e68b2838d07c --- /dev/null +++ b/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/groovy/TestWsServlet.groovy @@ -0,0 +1,37 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +import hello.HelloServiceImpl +import io.opentelemetry.api.trace.Span +import io.opentelemetry.context.Context +import io.opentelemetry.instrumentation.api.instrumenter.LocalRootSpan +import org.apache.cxf.jaxws.EndpointImpl +import org.apache.cxf.message.Message +import org.apache.cxf.phase.AbstractPhaseInterceptor +import org.apache.cxf.phase.Phase +import org.apache.cxf.transport.servlet.CXFNonSpringServlet + +import jakarta.servlet.ServletConfig + +class TestWsServlet extends CXFNonSpringServlet { + @Override + void loadBus(ServletConfig servletConfig) { + super.loadBus(servletConfig) + + // publish test webservice + Object implementor = new HelloServiceImpl() + EndpointImpl endpoint = new EndpointImpl(bus, implementor) + endpoint.publish("/HelloService") + endpoint.getOutInterceptors().add(new AbstractPhaseInterceptor(Phase.SETUP) { + @Override + void handleMessage(Message message) { + Context context = Context.current() + if (LocalRootSpan.fromContext(context) != Span.fromContext(context)) { + throw new IllegalStateException("handler span should be ended before outgoing interceptors") + } + } + }) + } +} diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/test/resources/test-app/WEB-INF/web.xml b/instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/resources/test-app/WEB-INF/web.xml similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/test/resources/test-app/WEB-INF/web.xml rename to instrumentation/jaxws/jaxws-3.0-cxf-4.0-testing/src/test/resources/test-app/WEB-INF/web.xml diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent-unit-tests/build.gradle.kts b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent-unit-tests/build.gradle.kts similarity index 78% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent-unit-tests/build.gradle.kts rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent-unit-tests/build.gradle.kts index d8fa5cc7c0cb..d41fa8e62010 100644 --- a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent-unit-tests/build.gradle.kts +++ b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent-unit-tests/build.gradle.kts @@ -6,7 +6,7 @@ dependencies { compileOnly("javax.servlet:javax.servlet-api:3.0.1") compileOnly("org.apache.cxf:cxf-rt-frontend-jaxws:3.0.0") - implementation(project(":instrumentation:jaxws:jaxws-2.0-cxf-3.0:javaagent")) + implementation(project(":instrumentation:jaxws:jaxws-cxf-3.0:javaagent")) testImplementation(project(":instrumentation-api")) testImplementation("org.apache.cxf:cxf-rt-frontend-jaxws:3.0.0") diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent-unit-tests/src/test/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptorTest.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent-unit-tests/src/test/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptorTest.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent-unit-tests/src/test/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptorTest.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent-unit-tests/src/test/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptorTest.java diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/build.gradle.kts b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/build.gradle.kts similarity index 90% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/build.gradle.kts rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/build.gradle.kts index 0b1f54cb8239..5ed3ec89bbcf 100644 --- a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/build.gradle.kts +++ b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/build.gradle.kts @@ -8,8 +8,9 @@ muzzle { module.set("cxf-rt-frontend-jaxws") // all earlier versions in maven central also pass muzzle check, // but 3.0.0 is already 8 years old and testing earlier versions adds complexity - versions.set("[3.0.0,4)") + versions.set("[3.0.0,)") extraDependency("javax.servlet:javax.servlet-api:3.0.1") + extraDependency("jakarta.servlet:jakarta.servlet-api:5.0.0") } } @@ -18,6 +19,8 @@ dependencies { library("org.apache.cxf:cxf-rt-frontend-jaxws:3.0.0") compileOnly("javax.servlet:javax.servlet-api:3.0.1") + compileOnly("jakarta.servlet:jakarta.servlet-api:5.0.0") + compileOnly(project(":muzzle")) testLibrary("org.apache.cxf:cxf-rt-transports-http:3.0.0") diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfHelper.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfHelper.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfHelper.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfHelper.java diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfInstrumentationModule.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfInstrumentationModule.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfInstrumentationModule.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfInstrumentationModule.java diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfRequest.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfRequest.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfRequest.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfRequest.java diff --git a/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java new file mode 100644 index 000000000000..4a5400f6e838 --- /dev/null +++ b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfServerSpanNaming.java @@ -0,0 +1,66 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.javaagent.instrumentation.cxf; + +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.context.Context; +import io.opentelemetry.instrumentation.api.instrumenter.LocalRootSpan; +import io.opentelemetry.javaagent.bootstrap.servlet.ServletContextPath; +import io.opentelemetry.javaagent.tooling.muzzle.NoMuzzle; + +public final class CxfServerSpanNaming { + private static final Class JAVAX_SERVLET_REQUEST = + loadClass("javax.servlet.http.HttpServletRequest"); + private static final Class JAKARTA_SERVLET_REQUEST = + loadClass("jakarta.servlet.http.HttpServletRequest"); + + private static Class loadClass(String className) { + try { + return Class.forName(className); + } catch (ClassNotFoundException exception) { + return null; + } + } + + public static void updateServerSpanName(Context context, CxfRequest cxfRequest) { + String spanName = cxfRequest.spanName(); + if (spanName == null) { + return; + } + + Span serverSpan = LocalRootSpan.fromContextOrNull(context); + if (serverSpan == null) { + return; + } + + Object request = cxfRequest.message().get("HTTP.REQUEST"); + if (request != null) { + String servletPath = null; + if (JAVAX_SERVLET_REQUEST != null && JAVAX_SERVLET_REQUEST.isInstance(request)) { + servletPath = getJavaxServletPath(request); + } else if (JAKARTA_SERVLET_REQUEST != null && JAKARTA_SERVLET_REQUEST.isInstance(request)) { + servletPath = getJakartaServletPath(request); + } + if (servletPath != null && !servletPath.isEmpty()) { + spanName = servletPath + "/" + spanName; + } + } + + serverSpan.updateName(ServletContextPath.prepend(context, spanName)); + } + + @NoMuzzle + private static String getJavaxServletPath(Object request) { + return ((javax.servlet.http.HttpServletRequest) request).getServletPath(); + } + + @NoMuzzle + private static String getJakartaServletPath(Object request) { + return ((jakarta.servlet.http.HttpServletRequest) request).getServletPath(); + } + + private CxfServerSpanNaming() {} +} diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfSingletons.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfSingletons.java similarity index 97% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfSingletons.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfSingletons.java index 9da76ff3b41c..b048d97985b8 100644 --- a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfSingletons.java +++ b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/CxfSingletons.java @@ -10,7 +10,7 @@ import io.opentelemetry.javaagent.bootstrap.internal.ExperimentalConfig; public class CxfSingletons { - private static final String INSTRUMENTATION_NAME = "io.opentelemetry.jaxws-2.0-cxf-3.0"; + private static final String INSTRUMENTATION_NAME = "io.opentelemetry.jaxws-cxf-3.0"; private static final Instrumenter INSTRUMENTER; diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/JaxWsServerFactoryBeanInstrumentation.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/JaxWsServerFactoryBeanInstrumentation.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/JaxWsServerFactoryBeanInstrumentation.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/JaxWsServerFactoryBeanInstrumentation.java diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingEndInInterceptor.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingEndInInterceptor.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingEndInInterceptor.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingEndInInterceptor.java diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingOutFaultInterceptor.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingOutFaultInterceptor.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingOutFaultInterceptor.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingOutFaultInterceptor.java diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptor.java b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptor.java similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptor.java rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cxf/TracingStartInInterceptor.java diff --git a/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/groovy/CxfJaxWsTest.groovy b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/groovy/CxfJaxWsTest.groovy new file mode 100644 index 000000000000..b81fa377c198 --- /dev/null +++ b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/groovy/CxfJaxWsTest.groovy @@ -0,0 +1,7 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +class CxfJaxWsTest extends AbstractJaxWsTest { +} diff --git a/instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/test/groovy/TestWsServlet.groovy b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/groovy/TestWsServlet.groovy similarity index 100% rename from instrumentation/jaxws/jaxws-2.0-cxf-3.0/javaagent/src/test/groovy/TestWsServlet.groovy rename to instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/groovy/TestWsServlet.groovy diff --git a/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/resources/test-app/WEB-INF/web.xml b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/resources/test-app/WEB-INF/web.xml new file mode 100644 index 000000000000..9c6ebc21da06 --- /dev/null +++ b/instrumentation/jaxws/jaxws-cxf-3.0/javaagent/src/test/resources/test-app/WEB-INF/web.xml @@ -0,0 +1,17 @@ + + + + + wsServlet + TestWsServlet + 1 + + + + wsServlet + /ws/* + + diff --git a/settings.gradle.kts b/settings.gradle.kts index 83d356579646..4460bf268d1d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -333,14 +333,15 @@ include(":instrumentation:jaxws:jaxws-2.0:javaagent") include(":instrumentation:jaxws:jaxws-2.0-arquillian-testing") include(":instrumentation:jaxws:jaxws-2.0-axis2-1.6:javaagent") include(":instrumentation:jaxws:jaxws-2.0-common-testing") -include(":instrumentation:jaxws:jaxws-2.0-cxf-3.0:javaagent") -include(":instrumentation:jaxws:jaxws-2.0-cxf-3.0:javaagent-unit-tests") include(":instrumentation:jaxws:jaxws-2.0-metro-2.2-testing") include(":instrumentation:jaxws:jaxws-2.0-tomee-testing") include(":instrumentation:jaxws:jaxws-2.0-wildfly-testing") include(":instrumentation:jaxws:jaxws-3.0-common-testing") +include(":instrumentation:jaxws:jaxws-3.0-cxf-4.0-testing") include(":instrumentation:jaxws:jaxws-3.0-metro-2.2-testing") include(":instrumentation:jaxws:jaxws-common:javaagent") +include(":instrumentation:jaxws:jaxws-cxf-3.0:javaagent") +include(":instrumentation:jaxws:jaxws-cxf-3.0:javaagent-unit-tests") include(":instrumentation:jaxws:jaxws-jws-api-1.1:javaagent") include(":instrumentation:jaxws:jaxws-metro-2.2:javaagent") include(":instrumentation:jboss-logmanager:jboss-logmanager-appender-1.1:javaagent")