CAMEL-11258 Use TracerResolver to locate Tracer without modifying code/config


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/153cfd14
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/153cfd14
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/153cfd14

Branch: refs/heads/master
Commit: 153cfd1429c0c9e66fe749f8ebb92c7a476306db
Parents: b18b638
Author: Gary Brown <g...@brownuk.com>
Authored: Wed May 10 16:48:57 2017 +0100
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Thu May 11 10:58:42 2017 +0200

----------------------------------------------------------------------
 components/camel-opentracing/pom.xml                     |  5 +++++
 .../org/apache/camel/opentracing/OpenTracingTracer.java  | 11 ++---------
 parent/pom.xml                                           |  3 ++-
 3 files changed, 9 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/153cfd14/components/camel-opentracing/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-opentracing/pom.xml 
b/components/camel-opentracing/pom.xml
index 8cea9f2..1fd5ffe 100644
--- a/components/camel-opentracing/pom.xml
+++ b/components/camel-opentracing/pom.xml
@@ -62,6 +62,11 @@
       <artifactId>opentracing-noop</artifactId>
       <version>${opentracing-version}</version>
     </dependency>
+    <dependency>
+      <groupId>io.opentracing.contrib</groupId>
+      <artifactId>opentracing-tracerresolver</artifactId>
+      <version>${opentracing-tracerresolver-version}</version>
+    </dependency>
 
     <!-- test dependencies -->
     <dependency>

http://git-wip-us.apache.org/repos/asf/camel/blob/153cfd14/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
 
b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
index 0a03044..2cafa59 100644
--- 
a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
+++ 
b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
@@ -19,7 +19,6 @@ package org.apache.camel.opentracing;
 import java.net.URI;
 import java.util.EventObject;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.ServiceLoader;
 import java.util.Set;
@@ -28,6 +27,7 @@ import io.opentracing.NoopTracerFactory;
 import io.opentracing.Span;
 import io.opentracing.Tracer;
 import io.opentracing.Tracer.SpanBuilder;
+import io.opentracing.contrib.tracerresolver.TracerResolver;
 import io.opentracing.propagation.Format;
 import io.opentracing.tag.Tags;
 import org.apache.camel.CamelContext;
@@ -147,14 +147,7 @@ public class OpenTracingTracer extends ServiceSupport 
implements RoutePolicyFact
         }
 
         if (tracer == null) {
-            // Attempt to load tracer using ServiceLoader
-            Iterator<Tracer> iter = 
ServiceLoader.load(Tracer.class).iterator();
-            if (iter.hasNext()) {
-                tracer = iter.next();
-                if (iter.hasNext()) {
-                    LOG.warn("Multiple Tracer implementations available - 
selected: " + tracer);
-                }
-            }
+            tracer = TracerResolver.resolveTracer();
         }
 
         if (tracer == null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/153cfd14/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index abb6673..62822c3 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -503,8 +503,9 @@
     <openshift-java-client-version>2.7.0.Final</openshift-java-client-version>
     <openstack4j-version>3.0.2</openstack4j-version>
     <openstack4j-guava-version>17.0</openstack4j-guava-version>
-    <opentracing-java-agent-version>0.0.11</opentracing-java-agent-version>
+    <opentracing-java-agent-version>0.0.12</opentracing-java-agent-version>
     <opentracing-version>0.22.0</opentracing-version>
+    
<opentracing-tracerresolver-version>0.1.0</opentracing-tracerresolver-version>
     <ops4j-base-version>1.5.0</ops4j-base-version>
     <optaplanner-version>6.5.0.Final</optaplanner-version>
     <oro-bundle-version>2.0.8_6</oro-bundle-version>

Reply via email to