Skip to content

Commit a5806c6

Browse files
committed
keep registerHelperResources for inlined
1 parent 1427f9f commit a5806c6

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

instrumentation/spring/spring-web/spring-web-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/springweb/v3_1/SpringWebInstrumentationModule.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import static net.bytebuddy.matcher.ElementMatchers.not;
1111

1212
import com.google.auto.service.AutoService;
13+
import io.opentelemetry.javaagent.extension.instrumentation.HelperResourceBuilder;
1314
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1415
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1516
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
@@ -31,6 +32,21 @@ public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
3132
.and(not(hasClassesNamed("org.springframework.web.ErrorResponse")));
3233
}
3334

35+
@Override
36+
public void registerHelperResources(HelperResourceBuilder helperResourceBuilder) {
37+
if (!isIndyModule()) {
38+
// make the filter class file loadable by ClassPathResource - in some cases (e.g.
39+
// spring-guice,
40+
// see https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7428)
41+
// Spring
42+
// might want to read the class file metadata; this line will make the filter class file
43+
// visible
44+
// to the bean class loader
45+
helperResourceBuilder.register(
46+
"org/springframework/web/servlet/v3_1/OpenTelemetryHandlerMappingFilter.class");
47+
}
48+
}
49+
3450
@Override
3551
public String getModuleGroup() {
3652
// depends on OpenTelemetryHandlerMappingFilter

instrumentation/spring/spring-web/spring-web-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/web/v6_0/SpringWebInstrumentationModule.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import static java.util.Collections.singletonList;
1010

1111
import com.google.auto.service.AutoService;
12+
import io.opentelemetry.javaagent.extension.instrumentation.HelperResourceBuilder;
1213
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1314
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1415
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
@@ -29,6 +30,21 @@ public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
2930
return hasClassesNamed("org.springframework.web.ErrorResponse");
3031
}
3132

33+
@Override
34+
public void registerHelperResources(HelperResourceBuilder helperResourceBuilder) {
35+
if (!isIndyModule()) {
36+
// make the filter class file loadable by ClassPathResource - in some cases (e.g.
37+
// spring-guice,
38+
// see https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7428)
39+
// Spring
40+
// might want to read the class file metadata; this line will make the filter class file
41+
// visible
42+
// to the bean class loader
43+
helperResourceBuilder.register(
44+
"org/springframework/web/servlet/v6_0/OpenTelemetryHandlerMappingFilter.class");
45+
}
46+
}
47+
3248
@Override
3349
public String getModuleGroup() {
3450
// depends on OpenTelemetryHandlerMappingFilter

0 commit comments

Comments
 (0)