I Have a Spring Boot application annotated with @CamelOpenTracing to trace
my camel routes and brave-opentracing to forward it to zipkin.
I added a Trace Bean
@Bean(name = "testGroupTracer")
public io.opentracing.Tracer initTracer() {
Reporter reporter =
AsyncReporter.builder(URLConnectionSender.create("http://localhost:9411/api/v1/spans")).build();
Tracing crimsGroupTracer =
Tracing.newBuilder().localServiceName("testGroupTracer").reporter(reporter).build();
return BraveTracer.create(crimsGroupTracer);
}
I configured my Camel Context
@Resource(name="testGroupTracer")
Tracer tracer;
@Bean
CamelContextConfiguration nameConfiguration() {
return new CamelContextConfiguration() {
@Override
public void beforeApplicationStart(CamelContext
camelContext) {
OpenTracingTracer ottracer = new
OpenTracingTracer();
ottracer.setTracer(tracer);
SpringCamelContext springCamelContext =
(SpringCamelContext) camelContext;
.... do some other actions like add datasources to
registry etc......
With Camel 2.19.0 everything works fine.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-opentracing-starter</artifactId>
<version>2.19.0</version>
</dependency>
<dependency>
<groupId>io.opentracing.brave</groupId>
<artifactId>brave-opentracing</artifactId>
<version>0.20.0</version>
</dependency>
<dependency>
<groupId>io.zipkin.reporter</groupId>
<artifactId>zipkin-sender-urlconnection</artifactId>
<version>0.10.0</version>
</dependency>
After upgrade the Camel version to 2.19.10
Error starting ApplicationContext. To display the auto-configuration report
re-run your application with 'debug' enabled.
2017-06-29 11:50:46.082 ERROR 13168 --- [ main]
o.s.boot.SpringApplication : Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'openTracingEventNotifier' defined in
org.apache.camel.opentracing.starter.OpenTracingAutoConfiguration
.....
....
Caused by: org.springframework.beans.BeanInstantiationException: Failed to
instantiate [org.apache.camel.opentracing.OpenTracingTracer]: Factory method
'openTracingEventNotifier' threw exception; n
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
... 24 common frames omitted
Caused by: java.lang.NoClassDefFoundError: io/opentracing/BaseSpan
at
org.apache.camel.opentracing.OpenTracingTracer.<init>(OpenTracingTracer.java:71)
~[camel-opentracing-2.19.1.jar:2.19.1]
at
org.apache.camel.opentracing.starter.OpenTracingAutoConfiguration.openTracingEventNotifier(OpenTracingAutoConfiguration.java:43)
~[camel-opentracing-starter-2.19.1.jar:2.19.1]
at
org.apache.camel.opentracing.starter.OpenTracingAutoConfiguration$$EnhancerBySpringCGLIB$$61400bb0.CGLIB$openTracingEventNotifier$0(<generated>)
~[camel-opentracing-starter-2.19.1.jar:2.
at
org.apache.camel.opentracing.starter.OpenTracingAutoConfiguration$$EnhancerBySpringCGLIB$$61400bb0$$FastClassBySpringCGLIB$$3045287e.invoke(<generated>)
~[camel-opentracing-starter-2.19.
at
org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
~[spring-core-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)
~[spring-context-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.apache.camel.opentracing.starter.OpenTracingAutoConfiguration$$EnhancerBySpringCGLIB$$61400bb0.openTracingEventNotifier(<generated>)
~[camel-opentracing-starter-2.19.1.jar:2.19.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.8.0_40]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_40]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_40]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
~[spring-beans-4.3.8.RELEASE.jar:4.3.8.RELEASE]
... 25 common frames omitted
Caused by: java.lang.ClassNotFoundException: io.opentracing.BaseSpan
Adding the OpenTracing-Java 0.30.0 jar introduced with
https://issues.apache.org/jira/browse/CAMEL-11381 to my maven pom leads
to
2017-06-29 11:57:07.353 WARN 15176 --- [umers:acsddata]]
o.a.camel.opentracing.OpenTracingTracer : OpenTracing: Failed to capture
tracing data
java.lang.AbstractMethodError:
brave.opentracing.BraveSpan.setTag(Ljava/lang/String;Ljava/lang/String;)Lio/opentracing/BaseSpan;
at
org.apache.camel.opentracing.decorators.AbstractSpanDecorator.pre(AbstractSpanDecorator.java:72)
~[camel-opentracing-2.19.1.jar:2.19.1]
at
org.apache.camel.opentracing.OpenTracingTracer$OpenTracingRoutePolicy.onExchangeBegin(OpenTracingTracer.java:256)
~[camel-opentracing-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.CamelInternalProcessor$RoutePolicyAdvice.before(CamelInternalProcessor.java:491)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:146)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:97)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:112)
[camel-jms-2.19.1.jar:2.19.1]
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:721)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:681)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:651)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:317)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:235)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1166)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1158)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1055)
[spring-jms-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_40]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
......
.....
2017-06-29 11:57:07.363 WARN 15176 --- [umers:acsddata]]
o.a.camel.opentracing.OpenTracingTracer : OpenTracing: Failed to capture
tracing data
java.lang.NoSuchFieldError: SAMPLING_PRIORITY
at
brave.opentracing.BraveSpanBuilder.start(BraveSpanBuilder.java:119)
~[brave-opentracing-0.20.0.jar:na]
at
brave.opentracing.BraveSpanBuilder.start(BraveSpanBuilder.java:37)
~[brave-opentracing-0.20.0.jar:na]
at
org.apache.camel.opentracing.OpenTracingTracer$OpenTracingEventNotifier.notify(OpenTracingTracer.java:197)
~[camel-opentracing-2.19.1.jar:2.19.1]
at
org.apache.camel.util.EventHelper.doNotifyEvent(EventHelper.java:805)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.util.EventHelper.notifyExchangeSending(EventHelper.java:611)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:140)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:399)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:173)
[camel-core-2.19.1.jar:2.19.1]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:120)
[camel-core-2.19.1.jar:2.19.1]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
[camel-core-2.19.1.jar:2.19.1]
at
org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:220)
[camel-spring-2.19.1.jar:2.19.1]
at
org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:183)
[camel-spring-2.19.1.jar:2.19.1]
at
org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:34)
[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
[spring-tx-4.3.8.RELEASE.jar:4.3.8.RELEASE]
--
View this message in context:
http://camel.465427.n5.nabble.com/CamelOpenTracing-broken-since-2-19-1-tp5805709.html
Sent from the Camel - Users mailing list archive at Nabble.com.