This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-2.21.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.21.x by this push:
new a63ed60 CAMEL-12656: Fixed root span id for multiple routes. (#2448)
a63ed60 is described below
commit a63ed601874eec472c1a2a9ca6cc3da6383e30b7
Author: Sourabh Taletiya <[email protected]>
AuthorDate: Wed Aug 1 04:38:17 2018 -0400
CAMEL-12656: Fixed root span id for multiple routes. (#2448)
---
.../java/org/apache/camel/zipkin/ZipkinTracer.java | 26 ++++++++--------------
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git
a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
index fa6d8d2..401b14d 100644
---
a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
+++
b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
@@ -757,24 +757,16 @@ public class ZipkinTracer extends ServiceSupport
implements RoutePolicyFactory,
serverRequest(brave, serviceName, exchange);
}
}
+ }
- // add on completion after the route is done, but before the
consumer writes the response
- // this allows us to track the zipkin event before returning the
response which is the right time
- exchange.addOnCompletion(new SynchronizationAdapter() {
- @Override
- public void onAfterRoute(Route route, Exchange exchange) {
- String serviceName = getServiceName(exchange,
route.getEndpoint(), true, false);
- Brave brave = getBrave(serviceName);
- if (brave != null) {
- serverResponse(brave, serviceName, exchange);
- }
- }
-
- @Override
- public String toString() {
- return "ZipkinTracerOnCompletion[" + routeId + "]";
- }
- });
+ // Report Server send after route has completed processing of the
exchange.
+ @Override
+ public void onExchangeDone(Route route, Exchange exchange) {
+ String serviceName = getServiceName(exchange, route.getEndpoint(),
true, false);
+ Brave brave = getBrave(serviceName);
+ if (brave != null) {
+ serverResponse(brave, serviceName, exchange);
+ }
}
}