diff --git a/jaeger-core/src/main/java/io/jaegertracing/Configuration.java b/jaeger-core/src/main/java/io/jaegertracing/Configuration.java index 99d761f28..c05b3b5a8 100644 --- a/jaeger-core/src/main/java/io/jaegertracing/Configuration.java +++ b/jaeger-core/src/main/java/io/jaegertracing/Configuration.java @@ -181,10 +181,6 @@ public enum Propagation { private Map tracerTags; private boolean useTraceId128Bit; - /** - * lazy singleton JaegerTracer initialized in getTracer() method. - */ - private JaegerTracer tracer; public Configuration(String serviceName) { this.serviceName = JaegerTracer.Builder.checkValidServiceName(serviceName); @@ -240,22 +236,11 @@ protected JaegerTracer.Builder createTracerBuilder(String serviceName) { } public synchronized JaegerTracer getTracer() { - if (tracer != null) { - return tracer; - } - - tracer = getTracerBuilder().build(); + JaegerTracer tracer = getTracerBuilder().build(); log.info("Initialized tracer={}", tracer); - return tracer; } - public synchronized void closeTracer() { - if (tracer != null) { - tracer.close(); - } - } - private MetricsFactory loadMetricsFactory() { ServiceLoader loader = ServiceLoader.load(MetricsFactory.class); @@ -615,11 +600,6 @@ public SenderConfiguration getSenderConfiguration() { */ @Getter public static class SenderConfiguration { - /** - * A custom sender set by our consumers. If set, nothing else has effect. Optional. - */ - private Sender sender; - /** * The Agent Host. Has no effect if the sender is set. Optional. */ @@ -684,15 +664,11 @@ public SenderConfiguration withAuthPassword(String password) { } /** - * Returns a sender if one was given when creating the configuration, or attempts to create a sender based on the - * configuration's state. + * Returns a sender based on the configuration's state. * @return the sender passed via the constructor or a properly configured sender */ public Sender getSender() { - if (sender == null) { - sender = SenderResolver.resolve(this); - } - return sender; + return SenderResolver.resolve(this); } /** diff --git a/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java b/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java index 6e0a1ab7a..fe8bbbcec 100644 --- a/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java +++ b/jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java @@ -334,9 +334,12 @@ public void testOverrideServiceName() { @Test public void testDefaultTracer() { Configuration configuration = new Configuration("name"); - assertNotNull(configuration.getTracer()); - assertNotNull(configuration.getTracer()); - configuration.closeTracer(); + JaegerTracer tracer = configuration.getTracer(); + assertNotNull(tracer); + tracer.close(); + tracer = configuration.getTracer(); + assertNotNull(tracer); + tracer.close(); } @Test(expected = IllegalStateException.class) diff --git a/jaeger-core/src/test/java/io/jaegertracing/internal/JaegerSubclassTest.java b/jaeger-core/src/test/java/io/jaegertracing/internal/JaegerSubclassTest.java index 661b579a4..cb6dd2e70 100644 --- a/jaeger-core/src/test/java/io/jaegertracing/internal/JaegerSubclassTest.java +++ b/jaeger-core/src/test/java/io/jaegertracing/internal/JaegerSubclassTest.java @@ -172,6 +172,6 @@ public void testTracer() { Assert.assertTrue(tracer.scopeManager().activeSpan() instanceof CustomSpan); Assert.assertTrue(tracer.scopeManager().activeSpan().context() instanceof CustomSpanContext); } - config.closeTracer(); + tracer.close(); } } diff --git a/jaeger-crossdock/src/main/java/io/jaegertracing/crossdock/JerseyServer.java b/jaeger-crossdock/src/main/java/io/jaegertracing/crossdock/JerseyServer.java index 28c03442b..1eb4a6649 100644 --- a/jaeger-crossdock/src/main/java/io/jaegertracing/crossdock/JerseyServer.java +++ b/jaeger-crossdock/src/main/java/io/jaegertracing/crossdock/JerseyServer.java @@ -22,6 +22,7 @@ import io.jaegertracing.crossdock.resources.behavior.http.EndToEndBehaviorResource; import io.jaegertracing.crossdock.resources.behavior.http.TraceBehaviorResource; import io.jaegertracing.crossdock.resources.health.HealthResource; +import io.jaegertracing.internal.JaegerTracer; import io.jaegertracing.internal.samplers.ConstSampler; import io.jaegertracing.spi.Sender; import io.jaegertracing.thrift.internal.senders.HttpSender; @@ -59,17 +60,17 @@ public class JerseyServer { private final HttpServer server; - private final Configuration config; + private final JaegerTracer tracer; - public JerseyServer(String host, int port, Configuration configuration, List resources) + public JerseyServer(String host, int port, JaegerTracer tracer, List resources) throws IOException { - this.config = configuration; + this.tracer = tracer; // create a resource config that scans for JAX-RS resources and providers final ResourceConfig rc = new ResourceConfig(); resources.forEach(rc::register); - rc.register(new ServerTracingDynamicFeature.Builder(config.getTracer()) + rc.register(new ServerTracingDynamicFeature.Builder(tracer) .withTraceSerialization(false) .build()) .register(LoggingFilter.class) @@ -84,7 +85,7 @@ public JerseyServer(String host, int port, Configuration configuration, List