New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incompatibility with Spring Boot 3.0.0 #4323
Comments
Hi @andres-loyola thanks for reporting this - this exception shouldn't happen with 1.0.1, so you could downgrade to that version as a workaround. |
it works! thank you |
Hi @andres-loyola we've released 1.1.4 to address the exception at startup - note we are actively working on completing support for Spring 6, but until then you might not see all the traces that you would get with previous releases of Spring. |
I am experiencing a similar issue after upgrading to version 1.1.x during startup of Wildfly application server when initializing web application context for a resteasy application that uses Spring to load the context. Could this be related? |
@vallihalldors which version of the Java tracer are you using? If you're using 1.1.4 please open a new issue with as much detail as you can share about how to recreate it (version of Wildfly, RESTEasy, etc.) |
@mcculls I am using version 1.1.4. I will open a new issue. |
Thanks @vallihalldors - looking at the stacktrace, I believe it's a separate issue related to class-loader visibility |
Would this issue be addressed with #4605 being released in https://github.com/DataDog/dd-trace-java/releases/tag/v1.7.0? |
The The 1.7.0 release added support for Spring Boot 3 and Spring Web (MVC) 6 |
I have a Kotlin project with Spring Boot 3.0.0
I added the tracer in the Dockerfile :
FROM openjdk:17 ADD https://dtdg.co/latest-java-tracer /opt/dd-java-agent.jar
The container is built correctly but when I run it I got this error:
Caused by: java.lang.IllegalStateException: Failed to introspect Class [datadog.trace.instrumentation.springweb.OrderedServletPathRequestFilter] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@66434cc8] at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:483) at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:320) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.checkLookupMethods(AutowiredAnnotationBeanPostProcessor.java:448) ... 62 common frames omitted Caused by: java.lang.NoClassDefFoundError: javax/servlet/FilterConfig at java.base/java.lang.Class.getDeclaredMethods0(Native Method) at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3402) at java.base/java.lang.Class.getDeclaredMethods(Class.java:2504) at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465) ... 64 common frames omitted Caused by: java.lang.ClassNotFoundException: javax.servlet.FilterConfig at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:149) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ... 68 common frames omitted
I think it's because Spring Boot 3.0.0 is now using Jakarta instead of javax:
java.lang.ClassNotFoundException: javax.servlet.FilterConfig
When I removed the datadog tracer, it runs normally.
Version used: 1.1.3~327e6fb644
The text was updated successfully, but these errors were encountered: