Reputation: 102
I am trying to enable tracing in my Apache Camel project using Micrometer and Brave. My application is based on Spring Boot, and I have the following dependencies in my pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter-brave</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-micrometer</artifactId>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-observation-starter</artifactId>
<version>4.8.0</version>
</dependency>
Getting class not found error.
Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.apache.camel.observation.starter.ObservationAutoConfiguration] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:483)
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:320)
at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:149)
at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:413)
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:336)
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:246)
at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:534)
... 17 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/apache/camel/observation/MicrometerObservationTracer
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3578)
at java.base/java.lang.Class.getDeclaredMethods(Class.java:2676)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465)
... 23 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.camel.observation.MicrometerObservationTracer
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 27 common frames omitted
I have downloaded jar and checked this class in not present in that. Is there any specific dependency I need to add? I tried and couldn't find any.
Upvotes: 0
Views: 33
Reputation: 102
After debugging I found solution. I am posting here for future reference. Adding another dependency resolved issue. If anyone facing a similar issue try adding below dependency and check.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-observation</artifactId>
<version>4.8.0</version>
</dependency>
Upvotes: 0