From ee8d7a54c77cf527c82b41fd8686bf4c305bcaca Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 10 Feb 2016 19:09:20 +0100 Subject: [PATCH] Delomboking --- README.adoc | 23 +-- spring-cloud-sleuth-core/pom.xml | 6 - .../org/springframework/cloud/sleuth/Log.java | 20 ++- .../springframework/cloud/sleuth/Span.java | 25 ++-- .../event/ArrayListSpanAccumulator.java | 36 ++++- .../sleuth/event/ClientReceivedEvent.java | 16 +-- .../cloud/sleuth/event/ClientSentEvent.java | 16 +-- .../sleuth/event/ServerReceivedEvent.java | 17 +-- .../cloud/sleuth/event/ServerSentEvent.java | 19 +-- .../cloud/sleuth/event/SpanAcquiredEvent.java | 19 +-- .../sleuth/event/SpanContainingEvent.java | 62 ++++++++ .../sleuth/event/SpanContinuedEvent.java | 16 +-- .../event/SpanParentContainingEvent.java | 75 ++++++++++ .../cloud/sleuth/event/SpanReleasedEvent.java | 19 +-- .../cloud/sleuth/instrument/TraceKeys.java | 133 +++++++++++++++++- .../async/LazyTraceAsyncCustomizer.java | 8 +- .../instrument/async/LazyTraceExecutor.java | 8 +- .../instrument/async/TraceCallable.java | 4 - .../instrument/async/TraceDelegate.java | 28 +++- .../instrument/async/TraceRunnable.java | 4 - .../SleuthHystrixConcurrencyStrategy.java | 13 +- .../sleuth/instrument/web/TraceWebAspect.java | 6 +- .../TraceRestClientRibbonCommandFactory.java | 21 ++- .../cloud/sleuth/log/Slf4jSpanListener.java | 6 +- .../sleuth/sampler/SamplerProperties.java | 11 +- .../cloud/sleuth/trace/SpanContextHolder.java | 6 +- .../cloud/sleuth/util/ExceptionUtils.java | 6 +- .../cloud/sleuth/assertions/SpanAssert.java | 22 ++- .../sleuth/assertions/SpanNameAssert.java | 9 +- .../async/TraceableExecutorServiceTests.java | 6 +- .../TraceFilterMockChainIntegrationTests.java | 6 +- .../instrument/web/TraceFilterTests.java | 2 - .../web/common/MockServerConfiguration.java | 6 +- .../pom.xml | 4 - .../main/java/sample/SampleBackground.java | 8 +- .../src/main/java/sample/SampleService.java | 10 +- .../main/java/sample/SampleTransformer.java | 9 +- .../IntegrationTestZipkinSpanReporter.java | 13 +- .../spring-cloud-sleuth-sample-ribbon/pom.xml | 4 - .../main/java/sample/SampleController.java | 9 +- .../spring-cloud-sleuth-sample-stream/pom.xml | 4 - .../main/java/sample/SampleBackground.java | 5 +- .../main/java/sample/SampleController.java | 21 ++- .../pom.xml | 4 - .../java/tools/AbstractIntegrationTest.java | 12 +- .../java/tools/AssertingRestTemplate.java | 18 ++- .../java/tools/RequestSendingRunnable.java | 10 +- .../pom.xml | 6 - .../spring-cloud-sleuth-sample-zipkin/pom.xml | 4 - .../main/java/sample/SampleBackground.java | 8 +- .../main/java/sample/SampleController.java | 23 ++- .../java/sample/SampleZipkinApplication.java | 7 +- .../test/java/integration/ZipkinTests.java | 9 +- .../spring-cloud-sleuth-sample/pom.xml | 4 - .../main/java/sample/SampleBackground.java | 8 +- .../main/java/sample/SampleController.java | 20 ++- spring-cloud-sleuth-stream/pom.xml | 6 - .../cloud/sleuth/stream/Host.java | 34 ++++- .../sleuth/stream/SleuthStreamProperties.java | 19 ++- .../cloud/sleuth/stream/Spans.java | 25 +++- spring-cloud-sleuth-zipkin-stream/pom.xml | 6 - .../stream/SamplingZipkinSpanIterator.java | 6 +- .../zipkin/stream/ZipkinMessageListener.java | 29 ++-- spring-cloud-sleuth-zipkin/pom.xml | 6 - .../zipkin/FallbackHavingEndpointLocator.java | 7 +- .../sleuth/zipkin/HttpZipkinSpanReporter.java | 14 +- .../cloud/sleuth/zipkin/ZipkinProperties.java | 27 +++- .../sleuth/zipkin/ZipkinSpanListener.java | 5 +- 68 files changed, 687 insertions(+), 391 deletions(-) create mode 100644 spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContainingEvent.java create mode 100644 spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanParentContainingEvent.java diff --git a/README.adoc b/README.adoc index 11a846598..2f52e9279 100644 --- a/README.adoc +++ b/README.adoc @@ -177,15 +177,6 @@ following command: The generated eclipse projects can be imported by selecting `import existing projects` from the `file` menu. -==== Adding Project Lombok Agent - -Spring Cloud uses http://projectlombok.org/features/index.html[Project Lombok] -to generate getters and setters etc. Compiling from the command line this -shouldn't cause any problems, but in an IDE you need to add an agent -to the JVM. Full instructions can be found in the Lombok website. The -sign that you need to do this is a lot of compiler errors to do with -missing methods and fields, e.g. - [indent=0] ---- The method getInitialStatus() is undefined for the type EurekaInstanceConfigBean EurekaDiscoveryClientConfiguration.java /spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka line 120 Java Problem @@ -197,21 +188,17 @@ The method getLocation() is undefined for the type ProxyRouteLocator.ProxyRouteS ---- ==== Importing into Intellij -Spring Cloud projects use annotation processing, particularly Lombok, which requires configuration -or you will encounter compile problems. It also needs a specific version of maven and a profile +Spring Cloud needs a specific version of maven and a profile enabled. Intellij 14.1+ requires some configuration to ensure these are setup properly. - 1. Click Preferences, Plugins. *Ensure Lombok is installed* - 2. Click New, Project from Existing Sources, choose your spring-cloud-sleuth directory - 3. Choose Maven, and select Environment Settings. *Ensure you are using Maven 3.3.3* - 4. In the next screen, *Select the profile `spring`* click Next until Finish. - 5. Click Preferences, "Build, Execution, Deployment", Compiler, Annotation Processors. *Click Enable Annotation Processing* - 6. Click Build, Rebuild Project, and you are ready to go! + 1. Click New, Project from Existing Sources, choose your spring-cloud-sleuth directory + 2. Choose Maven, and select Environment Settings. *Ensure you are using Maven 3.3.3* + 3. In the next screen, *Select the profile `spring`* click Next until Finish. + 4. Click Build, Rebuild Project, and you are ready to go! ==== Importing into other IDEs Maven is well supported by most Java IDEs. Refer to you vendor documentation. - == Contributing Spring Cloud is released under the non-restrictive Apache 2.0 license, diff --git a/spring-cloud-sleuth-core/pom.xml b/spring-cloud-sleuth-core/pom.xml index 0a3f8e749..eaaa37494 100644 --- a/spring-cloud-sleuth-core/pom.xml +++ b/spring-cloud-sleuth-core/pom.xml @@ -92,12 +92,6 @@ aspectjrt true - - org.projectlombok - lombok - - true - org.springframework.boot spring-boot-starter-test diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Log.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Log.java index 49625ac1a..a6b05f207 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Log.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Log.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,14 +16,9 @@ package org.springframework.cloud.sleuth; -import lombok.Data; -import lombok.RequiredArgsConstructor; - /** * @author Spencer Gibb */ -@Data -@RequiredArgsConstructor public class Log { /** * The epoch timestamp of the log record; often set via {@link System#currentTimeMillis()}. @@ -46,4 +41,17 @@ public class Log { this.timestamp = 0; this.event = null; } + + public Log(long timestamp, String event) { + this.timestamp = timestamp; + this.event = event; + } + + public long getTimestamp() { + return this.timestamp; + } + + public String getEvent() { + return this.event; + } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java index c49283246..c01a4bc20 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/Span.java @@ -27,8 +27,6 @@ import java.util.Map; import org.springframework.util.Assert; -import lombok.Getter; - /** * Class for gathering and reporting statistics about a block of execution. *

@@ -44,7 +42,6 @@ import lombok.Getter; * like scoped tracers. Sleuth spans are DTOs, whose sole responsibility is the current * span in the trace tree. */ -@Getter public class Span { public static final String NOT_SAMPLED_NAME = "X-Not-Sampled"; @@ -413,14 +410,22 @@ public class Span { return span; } + @Override public String toString() { - return "org.springframework.cloud.sleuth.Span.SpanBuilder(begin=" + this.begin - + ", end=" + this.end + ", name=" + this.name + ", traceId=" - + this.traceId + ", parents=" + this.parents + ", spanId=" - + this.spanId + ", remote=" + this.remote + ", exportable=" - + this.exportable + ", processId=" + this.processId + ", logs=" - + this.logs + ", tags=" + this.tags + ", savedSpan=" + this.savedSpan - + ")"; + return "SpanBuilder{" + + "begin=" + this.begin + + ", end=" + this.end + + ", name=" + this.name + + ", traceId=" + this.traceId + + ", parents=" + this.parents + + ", spanId=" + this.spanId + + ", remote=" + this.remote + + ", exportable=" + this.exportable + + ", processId='" + this.processId + '\'' + + ", savedSpan=" + this.savedSpan + + ", logs=" + this.logs + + ", tags=" + this.tags + + '}'; } } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ArrayListSpanAccumulator.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ArrayListSpanAccumulator.java index 7361a52ae..18c544f32 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ArrayListSpanAccumulator.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ArrayListSpanAccumulator.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,16 +16,14 @@ package org.springframework.cloud.sleuth.event; -import lombok.Value; +import java.util.ArrayList; + import org.springframework.cloud.sleuth.Span; import org.springframework.context.ApplicationListener; -import java.util.ArrayList; - /** * @author Spencer Gibb */ -@Value public class ArrayListSpanAccumulator implements ApplicationListener { private final ArrayList spans = new ArrayList<>(); @@ -33,4 +31,32 @@ public class ArrayListSpanAccumulator implements ApplicationListener getSpans() { + return this.spans; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ArrayListSpanAccumulator that = (ArrayListSpanAccumulator) o; + return this.spans.equals(that.spans); + } + + @Override + public int hashCode() { + return this.spans.hashCode(); + } + + @Override + public String toString() { + return "ArrayListSpanAccumulator{" + + "spans=" + this.spans + + '}'; + } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientReceivedEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientReceivedEvent.java index 46573ce40..30e04714b 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientReceivedEvent.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientReceivedEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,25 +16,17 @@ package org.springframework.cloud.sleuth.event; -import lombok.Data; -import lombok.EqualsAndHashCode; - import org.springframework.cloud.sleuth.Span; -import org.springframework.context.ApplicationEvent; /** * @author Dave Syer * */ -@Data -@EqualsAndHashCode(callSuper = false) @SuppressWarnings("serial") -public class ClientReceivedEvent extends ApplicationEvent { - - private final Span span; +public class ClientReceivedEvent extends SpanContainingEvent { public ClientReceivedEvent(Object source, Span span) { - super(source); - this.span = span; + super(source, span); } + } \ No newline at end of file diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientSentEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientSentEvent.java index 92ae1e1ad..c7dd43b2f 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientSentEvent.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ClientSentEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,25 +16,17 @@ package org.springframework.cloud.sleuth.event; -import lombok.Data; -import lombok.EqualsAndHashCode; - import org.springframework.cloud.sleuth.Span; -import org.springframework.context.ApplicationEvent; /** * @author Dave Syer * */ -@Data -@EqualsAndHashCode(callSuper = false) @SuppressWarnings("serial") -public class ClientSentEvent extends ApplicationEvent { - - private final Span span; +public class ClientSentEvent extends SpanContainingEvent { public ClientSentEvent(Object source, Span span) { - super(source); - this.span = span; + super(source, span); } + } \ No newline at end of file diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerReceivedEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerReceivedEvent.java index 0663e1706..a2be82b7e 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerReceivedEvent.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerReceivedEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,30 +16,19 @@ package org.springframework.cloud.sleuth.event; -import lombok.Data; -import lombok.EqualsAndHashCode; - import org.springframework.cloud.sleuth.Span; -import org.springframework.context.ApplicationEvent; /** * @author Spencer Gibb */ -@Data -@EqualsAndHashCode(callSuper=false) @SuppressWarnings("serial") -public class ServerReceivedEvent extends ApplicationEvent { - - private final Span parent; - private final Span span; +public class ServerReceivedEvent extends SpanParentContainingEvent { public ServerReceivedEvent(Object source, Span span) { this(source, null, span); } public ServerReceivedEvent(Object source, Span parent, Span span) { - super(source); - this.parent = parent; - this.span = span; + super(source, parent, span); } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerSentEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerSentEvent.java index aa59a2742..b0f0c0784 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerSentEvent.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/ServerSentEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,30 +16,19 @@ package org.springframework.cloud.sleuth.event; -import lombok.Data; -import lombok.EqualsAndHashCode; - import org.springframework.cloud.sleuth.Span; -import org.springframework.context.ApplicationEvent; /** * @author Spencer Gibb */ -@Data -@EqualsAndHashCode(callSuper=false) @SuppressWarnings("serial") -public class ServerSentEvent extends ApplicationEvent { - - private final Span parent; - private final Span span; +public class ServerSentEvent extends SpanParentContainingEvent { public ServerSentEvent(Object source, Span span) { this(source, null, span); } public ServerSentEvent(Object source, Span parent, Span span) { - super(source); - this.parent = parent; - this.span = span; + super(source, parent, span); } -} +} \ No newline at end of file diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanAcquiredEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanAcquiredEvent.java index 355081806..e44148c7f 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanAcquiredEvent.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanAcquiredEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,30 +16,19 @@ package org.springframework.cloud.sleuth.event; -import lombok.Data; -import lombok.EqualsAndHashCode; - import org.springframework.cloud.sleuth.Span; -import org.springframework.context.ApplicationEvent; /** * @author Spencer Gibb */ -@Data -@EqualsAndHashCode(callSuper=false) @SuppressWarnings("serial") -public class SpanAcquiredEvent extends ApplicationEvent { - - private final Span parent; - private final Span span; +public class SpanAcquiredEvent extends SpanParentContainingEvent { public SpanAcquiredEvent(Object source, Span span) { this(source, null, span); } public SpanAcquiredEvent(Object source, Span parent, Span span) { - super(source); - this.parent = parent; - this.span = span; + super(source, parent, span); } -} +} \ No newline at end of file diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContainingEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContainingEvent.java new file mode 100644 index 000000000..c73d9e03b --- /dev/null +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContainingEvent.java @@ -0,0 +1,62 @@ +/* + * Copyright 2013-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.sleuth.event; + +import java.util.Objects; + +import org.springframework.cloud.sleuth.Span; +import org.springframework.context.ApplicationEvent; + +/** + * @author Marcin Grzejszczak + */ +class SpanContainingEvent extends ApplicationEvent { + private final Span span; + + public SpanContainingEvent(Object source, Span span) { + super(source); + this.span = span; + } + + public Span getSpan() { + return this.span; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SpanContainingEvent that = (SpanContainingEvent) o; + return Objects.equals(this.span, that.span); + } + + @Override + public int hashCode() { + return this.span != null ? this.span.hashCode() : 0; + } + + @Override + public String toString() { + return getClass().getSimpleName() + "{" + + "span=" + this.span + + '}'; + } +} diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContinuedEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContinuedEvent.java index e59c05604..04d76e4bb 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContinuedEvent.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanContinuedEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,24 +16,16 @@ package org.springframework.cloud.sleuth.event; -import lombok.Data; -import lombok.EqualsAndHashCode; - import org.springframework.cloud.sleuth.Span; -import org.springframework.context.ApplicationEvent; /** * @author Spencer Gibb */ -@Data -@EqualsAndHashCode(callSuper=false) @SuppressWarnings("serial") -public class SpanContinuedEvent extends ApplicationEvent { - - private final Span span; +public class SpanContinuedEvent extends SpanContainingEvent { public SpanContinuedEvent(Object source, Span span) { - super(source); - this.span = span; + super(source, span); } + } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanParentContainingEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanParentContainingEvent.java new file mode 100644 index 000000000..38d9992b8 --- /dev/null +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanParentContainingEvent.java @@ -0,0 +1,75 @@ +/* + * Copyright 2013-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.sleuth.event; + +import java.util.Objects; + +import org.springframework.cloud.sleuth.Span; +import org.springframework.context.ApplicationEvent; + +/** + * @author Marcin Grzejszczak + */ +class SpanParentContainingEvent extends ApplicationEvent { + + private final Span span; + private final Span parent; + + public SpanParentContainingEvent(Object source, Span span) { + this(source, null, span); + } + + public SpanParentContainingEvent(Object source, Span parent, Span span) { + super(source); + this.parent = parent; + this.span = span; + } + + public Span getParent() { + return this.parent; + } + + public Span getSpan() { + return this.span; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SpanParentContainingEvent that = (SpanParentContainingEvent) o; + return Objects.equals(this.parent, that.parent) && Objects + .equals(this.span, that.span); + } + + @Override + public int hashCode() { + return Objects.hash(this.parent, this.span); + } + + @Override + public String toString() { + return getClass().getSimpleName() + "{" + + "span=" + this.span + + ", parent=" + this.parent + + '}'; + } +} diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanReleasedEvent.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanReleasedEvent.java index 011f14b2c..82f386e53 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanReleasedEvent.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/event/SpanReleasedEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,30 +16,19 @@ package org.springframework.cloud.sleuth.event; -import lombok.Data; -import lombok.EqualsAndHashCode; - import org.springframework.cloud.sleuth.Span; -import org.springframework.context.ApplicationEvent; /** * @author Spencer Gibb */ -@Data -@EqualsAndHashCode(callSuper=false) @SuppressWarnings("serial") -public class SpanReleasedEvent extends ApplicationEvent { - - private final Span span; - private final Span parent; +public class SpanReleasedEvent extends SpanParentContainingEvent { public SpanReleasedEvent(Object source, Span span) { this(source, null, span); } public SpanReleasedEvent(Object source, Span parent, Span span) { - super(source); - this.parent = parent; - this.span = span; + super(source, parent, span); } -} +} \ No newline at end of file diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceKeys.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceKeys.java index 0333136fc..5616b4f22 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceKeys.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/TraceKeys.java @@ -21,8 +21,6 @@ import java.util.LinkedHashSet; import org.springframework.boot.context.properties.ConfigurationProperties; -import lombok.Data; - /** * Well-known {@link org.springframework.cloud.sleuth.Span#tag(String, String) span tag} * keys. @@ -49,19 +47,56 @@ import lombok.Data; * what's you are storing. */ @ConfigurationProperties("spring.sleuth.keys") -@Data public class TraceKeys { private Http http = new Http(); private Message message = new Message(); - @Data + public Http getHttp() { + return this.http; + } + + public Message getMessage() { + return this.message; + } + + public void setHttp(Http http) { + this.http = http; + } + + public void setMessage(Message message) { + this.message = message; + } + public static class Message { private Payload payload = new Payload(); - @Data + public Payload getPayload() { + return this.payload; + } + + public String getPrefix() { + return this.prefix; + } + + public Collection getHeaders() { + return this.headers; + } + + public void setPayload(Payload payload) { + this.payload = payload; + } + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + public void setHeaders(Collection headers) { + this.headers = headers; + } + public static class Payload { /** * An estimate of the size of the payload if available. @@ -71,6 +106,22 @@ public class TraceKeys { * The type of the payload. */ private String type = "message/payload-type"; + + public String getSize() { + return this.size; + } + + public String getType() { + return this.type; + } + + public void setSize(String size) { + this.size = size; + } + + public void setType(String type) { + this.type = type; + } } /** @@ -87,7 +138,6 @@ public class TraceKeys { } - @Data public static class Http { /** @@ -160,6 +210,77 @@ public class TraceKeys { */ private Collection headers = new LinkedHashSet(); + public String getHost() { + return this.host; + } + + public String getMethod() { + return this.method; + } + + public String getPath() { + return this.path; + } + + public String getUrl() { + return this.url; + } + + public String getStatusCode() { + return this.statusCode; + } + + public String getRequestSize() { + return this.requestSize; + } + + public String getResponseSize() { + return this.responseSize; + } + + public String getPrefix() { + return this.prefix; + } + + public Collection getHeaders() { + return this.headers; + } + + public void setHost(String host) { + this.host = host; + } + + public void setMethod(String method) { + this.method = method; + } + + public void setPath(String path) { + this.path = path; + } + + public void setUrl(String url) { + this.url = url; + } + + public void setStatusCode(String statusCode) { + this.statusCode = statusCode; + } + + public void setRequestSize(String requestSize) { + this.requestSize = requestSize; + } + + public void setResponseSize(String responseSize) { + this.responseSize = responseSize; + } + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + public void setHeaders(Collection headers) { + this.headers = headers; + } } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java index e8a6df7bf..9a82988d6 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceAsyncCustomizer.java @@ -18,8 +18,6 @@ package org.springframework.cloud.sleuth.instrument.async; import java.util.concurrent.Executor; -import lombok.RequiredArgsConstructor; - import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; import org.springframework.beans.factory.BeanFactory; import org.springframework.scheduling.annotation.AsyncConfigurer; @@ -29,12 +27,16 @@ import org.springframework.scheduling.annotation.AsyncConfigurerSupport; * @author Dave Syer * */ -@RequiredArgsConstructor public class LazyTraceAsyncCustomizer extends AsyncConfigurerSupport { private final BeanFactory beanFactory; private final AsyncConfigurer delegate; + public LazyTraceAsyncCustomizer(BeanFactory beanFactory, AsyncConfigurer delegate) { + this.beanFactory = beanFactory; + this.delegate = delegate; + } + @Override public Executor getAsyncExecutor() { return new LazyTraceExecutor(this.beanFactory, this.delegate.getAsyncExecutor()); diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java index dea70c531..b11cfbc3a 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/LazyTraceExecutor.java @@ -22,19 +22,21 @@ import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.cloud.sleuth.Tracer; -import lombok.RequiredArgsConstructor; - /** * @author Dave Syer * */ -@RequiredArgsConstructor public class LazyTraceExecutor implements Executor { private Tracer tracer; private final BeanFactory beanFactory; private final Executor delegate; + public LazyTraceExecutor(BeanFactory beanFactory, Executor delegate) { + this.beanFactory = beanFactory; + this.delegate = delegate; + } + @Override public void execute(Runnable command) { if (this.tracer == null) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java index e2022bd2c..a46eaccd5 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceCallable.java @@ -18,8 +18,6 @@ package org.springframework.cloud.sleuth.instrument.async; import java.util.concurrent.Callable; -import lombok.EqualsAndHashCode; -import lombok.Value; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanName; import org.springframework.cloud.sleuth.Tracer; @@ -27,8 +25,6 @@ import org.springframework.cloud.sleuth.Tracer; /** * @author Spencer Gibb */ -@Value -@EqualsAndHashCode(callSuper = false) public class TraceCallable extends TraceDelegate> implements Callable { public TraceCallable(Tracer tracer, Callable delegate) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceDelegate.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceDelegate.java index c8cfee6b2..dec347410 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceDelegate.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceDelegate.java @@ -20,12 +20,9 @@ import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanName; import org.springframework.cloud.sleuth.Tracer; -import lombok.Getter; - /** * @author Spencer Gibb */ -@Getter public abstract class TraceDelegate { private static final String ASYNC_COMPONENT = "async"; @@ -60,4 +57,29 @@ public abstract class TraceDelegate { : this.name; } + public Tracer getTracer() { + return this.tracer; + } + + public T getDelegate() { + return this.delegate; + } + + public SpanName getName() { + return this.name; + } + + public Span getParent() { + return this.parent; + } + + @Override + public String toString() { + return "TraceDelegate{" + + "tracer=" + this.tracer + + ", delegate=" + this.delegate + + ", name=" + this.name + + ", parent=" + this.parent + + '}'; + } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java index 8ad48dc6f..7d9dd02cb 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceRunnable.java @@ -16,8 +16,6 @@ package org.springframework.cloud.sleuth.instrument.async; -import lombok.EqualsAndHashCode; -import lombok.Value; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanName; import org.springframework.cloud.sleuth.Tracer; @@ -25,8 +23,6 @@ import org.springframework.cloud.sleuth.Tracer; /** * @author Spencer Gibb */ -@Value -@EqualsAndHashCode(callSuper = false) public class TraceRunnable extends TraceDelegate implements Runnable { public TraceRunnable(Tracer tracer, Runnable delegate) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java index b73aa5f8b..28181e7ae 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/hystrix/SleuthHystrixConcurrencyStrategy.java @@ -1,19 +1,22 @@ package org.springframework.cloud.sleuth.instrument.hystrix; -import javax.annotation.PreDestroy; import java.util.concurrent.Callable; -import com.netflix.hystrix.strategy.HystrixPlugins; -import com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy; -import lombok.extern.slf4j.Slf4j; +import javax.annotation.PreDestroy; + +import org.slf4j.Logger; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanName; import org.springframework.cloud.sleuth.Tracer; -@Slf4j +import com.netflix.hystrix.strategy.HystrixPlugins; +import com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy; + public class SleuthHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy { private static final String HYSTRIX_COMPONENT = "hystrix"; + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SleuthHystrixConcurrencyStrategy.class); private final Tracer tracer; diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java index cfc088b88..3127fd72e 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceWebAspect.java @@ -19,6 +19,7 @@ package org.springframework.cloud.sleuth.instrument.web; import java.lang.reflect.Field; import java.util.concurrent.Callable; +import org.apache.commons.logging.Log; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; @@ -29,8 +30,6 @@ import org.springframework.cloud.sleuth.Tracer; import org.springframework.cloud.sleuth.instrument.async.TraceCallable; import org.springframework.web.context.request.async.WebAsyncTask; -import lombok.extern.apachecommons.CommonsLog; - /** * Aspect that adds correlation id to *

@@ -60,10 +59,11 @@ import lombok.extern.apachecommons.CommonsLog; * @author Spencer Gibb */ @Aspect -@CommonsLog public class TraceWebAspect { private static final String ASYNC_COMPONENT = "async"; + private static final Log log = org.apache.commons.logging.LogFactory + .getLog(TraceWebAspect.class); private final Tracer tracer; private final SpanAccessor accessor; diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceRestClientRibbonCommandFactory.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceRestClientRibbonCommandFactory.java index f9269dbec..c7ee1749d 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceRestClientRibbonCommandFactory.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceRestClientRibbonCommandFactory.java @@ -19,6 +19,7 @@ package org.springframework.cloud.sleuth.instrument.zuul; import java.io.InputStream; import java.net.URISyntaxException; +import org.slf4j.Logger; import org.springframework.cloud.netflix.ribbon.SpringClientFactory; import org.springframework.cloud.netflix.zuul.filters.route.RestClientRibbonCommand; import org.springframework.cloud.netflix.zuul.filters.route.RestClientRibbonCommandFactory; @@ -34,14 +35,15 @@ import org.springframework.util.MultiValueMap; import com.netflix.client.http.HttpRequest; import com.netflix.niws.client.http.RestClient; -import lombok.SneakyThrows; - /** * @author Spencer Gibb */ public class TraceRestClientRibbonCommandFactory extends RestClientRibbonCommandFactory implements ApplicationEventPublisherAware { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(TraceRestClientRibbonCommandFactory.class); + private ApplicationEventPublisher publisher; private final SpanAccessor accessor; @@ -58,15 +60,20 @@ public class TraceRestClientRibbonCommandFactory extends RestClientRibbonCommand } @Override - @SneakyThrows @SuppressWarnings("deprecation") public RestClientRibbonCommand create(RibbonCommandContext context) { RestClient restClient = getClientFactory().getClient(context.getServiceId(), RestClient.class); - return new TraceRestClientRibbonCommand(context.getServiceId(), restClient, - getVerb(context.getVerb()), context.getUri(), context.getRetryable(), - context.getHeaders(), context.getParams(), context.getRequestEntity(), - this.publisher, this.accessor); + try { + return new TraceRestClientRibbonCommand(context.getServiceId(), restClient, + getVerb(context.getVerb()), context.getUri(), context.getRetryable(), + context.getHeaders(), context.getParams(), context.getRequestEntity(), + this.publisher, this.accessor); + } + catch (URISyntaxException e) { + log.error("Exception occurred while trying to create the TraceRestClientRibbonCommand", e); + throw new RuntimeException(e); + } } class TraceRestClientRibbonCommand extends RestClientRibbonCommand { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jSpanListener.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jSpanListener.java index 4523c0f92..93ebb2de4 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jSpanListener.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/log/Slf4jSpanListener.java @@ -16,7 +16,7 @@ package org.springframework.cloud.sleuth.log; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; import org.slf4j.MDC; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.event.SpanAcquiredEvent; @@ -29,9 +29,11 @@ import org.springframework.core.annotation.Order; /** * @author Spencer Gibb */ -@Slf4j public class Slf4jSpanListener { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(Slf4jSpanListener.class); + @EventListener(SpanAcquiredEvent.class) @Order(Ordered.LOWEST_PRECEDENCE) public void start(SpanAcquiredEvent event) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java index 986ef55f0..19d506622 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java @@ -2,14 +2,11 @@ package org.springframework.cloud.sleuth.sampler; import org.springframework.boot.context.properties.ConfigurationProperties; -import lombok.Data; - /** * @author Marcin Grzejszczak * @author Adrian Cole */ @ConfigurationProperties("spring.sleuth.sampler") -@Data public class SamplerProperties { /** @@ -18,4 +15,12 @@ public class SamplerProperties { * the traces). */ private float percentage = 0.1f; + + public float getPercentage() { + return this.percentage; + } + + public void setPercentage(float percentage) { + this.percentage = percentage; + } } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/SpanContextHolder.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/SpanContextHolder.java index acd9bae24..e7b632e5e 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/SpanContextHolder.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/trace/SpanContextHolder.java @@ -16,20 +16,20 @@ package org.springframework.cloud.sleuth.trace; +import org.apache.commons.logging.Log; import org.springframework.cloud.sleuth.Span; import org.springframework.core.NamedThreadLocal; -import lombok.extern.apachecommons.CommonsLog; - /** * Utility for managing the thread local state for the {@link DefaultTracer}. * * @author Spencer Gibb * @author Dave Syer */ -@CommonsLog class SpanContextHolder { + private static final Log log = org.apache.commons.logging.LogFactory + .getLog(SpanContextHolder.class); private static final ThreadLocal CURRENT_SPAN = new NamedThreadLocal<>( "Trace Context"); diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ExceptionUtils.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ExceptionUtils.java index 7e44e9776..fb5483dd9 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ExceptionUtils.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/util/ExceptionUtils.java @@ -16,14 +16,16 @@ package org.springframework.cloud.sleuth.util; -import lombok.extern.apachecommons.CommonsLog; +import org.apache.commons.logging.Log; /** * @author Spencer Gibb */ -@CommonsLog public abstract class ExceptionUtils { + private static final Log log = org.apache.commons.logging.LogFactory + .getLog(ExceptionUtils.class); private static boolean fail = false; + public static void warn(String msg) { if (fail) { throw new IllegalStateException(msg); diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanAssert.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanAssert.java index 1d274aade..378bf9b3f 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanAssert.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanAssert.java @@ -1,16 +1,32 @@ +/* + * Copyright 2013-2016 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.cloud.sleuth.assertions; import java.util.Objects; import org.assertj.core.api.AbstractAssert; +import org.slf4j.Logger; import org.springframework.cloud.sleuth.Span; - -import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.sleuth.SpanName; -@Slf4j public class SpanAssert extends AbstractAssert { + private static final Logger log = org.slf4j.LoggerFactory.getLogger(SpanAssert.class); + public SpanAssert(Span actual) { super(actual, SpanAssert.class); } diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanNameAssert.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanNameAssert.java index 7fadfdec3..ce779c081 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanNameAssert.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/SpanNameAssert.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,13 +19,14 @@ package org.springframework.cloud.sleuth.assertions; import java.util.Objects; import org.assertj.core.api.AbstractAssert; +import org.slf4j.Logger; import org.springframework.cloud.sleuth.SpanName; -import lombok.extern.slf4j.Slf4j; - -@Slf4j public class SpanNameAssert extends AbstractAssert { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SpanNameAssert.class); + public SpanNameAssert(SpanName actual) { super(actual, SpanNameAssert.class); } diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorServiceTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorServiceTests.java index 62a0c2ff5..65553b02e 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorServiceTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorServiceTests.java @@ -9,7 +9,6 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import lombok.SneakyThrows; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -19,7 +18,6 @@ import org.mockito.runners.MockitoJUnitRunner; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanName; import org.springframework.cloud.sleuth.Tracer; -import org.springframework.cloud.sleuth.instrument.async.TraceableExecutorService; import org.springframework.cloud.sleuth.sampler.AlwaysSampler; import org.springframework.cloud.sleuth.trace.DefaultTracer; import org.springframework.cloud.sleuth.trace.TestSpanContextHolder; @@ -54,8 +52,8 @@ public class TraceableExecutorServiceTests { } @Test - @SneakyThrows - public void should_propagate_trace_id_and_set_new_span_when_traceable_executor_service_is_executed() { + public void should_propagate_trace_id_and_set_new_span_when_traceable_executor_service_is_executed() + throws Exception { Span span = this.tracer.startTrace(new SpanName("http", "PARENT")); CompletableFuture.allOf(runnablesExecutedViaTraceManagerableExecutorService()).get(); this.tracer.close(span); diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterMockChainIntegrationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterMockChainIntegrationTests.java index da015bbfc..8566648c0 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterMockChainIntegrationTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterMockChainIntegrationTests.java @@ -16,7 +16,8 @@ package org.springframework.cloud.sleuth.instrument.web; -import lombok.SneakyThrows; +import java.util.Random; + import org.junit.Before; import org.junit.Test; import org.springframework.cloud.sleuth.Span; @@ -33,8 +34,6 @@ import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.mock.web.MockServletContext; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; -import java.util.Random; - import static org.junit.Assert.assertNull; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; @@ -55,7 +54,6 @@ public class TraceFilterMockChainIntegrationTests { private MockFilterChain filterChain; @Before - @SneakyThrows public void init() { TestSpanContextHolder.removeCurrentSpan(); this.context.refresh(); diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java index d4430c884..b7affae83 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterTests.java @@ -18,7 +18,6 @@ package org.springframework.cloud.sleuth.instrument.web; import java.util.Random; -import lombok.SneakyThrows; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; @@ -67,7 +66,6 @@ public class TraceFilterTests { private Sampler sampler = new AlwaysSampler(); @Before - @SneakyThrows public void init() { initMocks(this); this.tracer = new DefaultTracer(new DelegateSampler(), new Random(), diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/common/MockServerConfiguration.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/common/MockServerConfiguration.java index 4314d71c3..b3220b13a 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/common/MockServerConfiguration.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/common/MockServerConfiguration.java @@ -1,14 +1,16 @@ package org.springframework.cloud.sleuth.instrument.web.common; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.util.SocketUtils; @Configuration -@Slf4j public class MockServerConfiguration { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(MockServerConfiguration.class); + @Bean(destroyMethod = "shutdownServer") HttpMockServer httpMockServer() { return tryToStartMockServer(); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml index 584c7c8b9..e24ff63bd 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml @@ -76,10 +76,6 @@ org.springframework.boot spring-boot-starter-actuator - - org.projectlombok - lombok - com.github.kristofa brave-core diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleBackground.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleBackground.java index c39e5759b..9a91ed459 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleBackground.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleBackground.java @@ -16,14 +16,13 @@ package sample; -import lombok.SneakyThrows; +import java.util.Random; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.sleuth.Tracer; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; -import java.util.Random; - /** * @author Spencer Gibb */ @@ -35,9 +34,8 @@ public class SampleBackground { @Autowired private Random random; - @SneakyThrows @Async - public void background() { + public void background() throws InterruptedException { int millis = this.random.nextInt(1000); Thread.sleep(millis); this.tracer.addTag("background-sleep-millis", String.valueOf(millis)); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleService.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleService.java index 265567de8..7d6bc0055 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleService.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleService.java @@ -16,8 +16,7 @@ package sample; -import lombok.extern.slf4j.Slf4j; - +import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent; import org.springframework.context.ApplicationListener; @@ -30,10 +29,11 @@ import org.springframework.web.client.RestTemplate; * @author Dave Syer * */ -@MessageEndpoint -@Slf4j -public class SampleService implements +@MessageEndpoint public class SampleService implements ApplicationListener { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SampleService.class); + @Autowired private RestTemplate restTemplate; private int port; diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleTransformer.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleTransformer.java index d2145e6f9..26ea6e261 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleTransformer.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/main/java/sample/SampleTransformer.java @@ -16,8 +16,7 @@ package sample; -import lombok.extern.slf4j.Slf4j; - +import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.annotation.MessageEndpoint; import org.springframework.integration.annotation.ServiceActivator; @@ -28,14 +27,16 @@ import org.springframework.messaging.Message; * */ @MessageEndpoint -@Slf4j public class SampleTransformer { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SampleTransformer.class); + @Autowired SampleBackground background; @ServiceActivator(inputChannel="xform") - public String log(Message message) { + public String log(Message message) throws InterruptedException { log.info("Received: " + message); this.background.background(); return message.getPayload().toString().toUpperCase(); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/test/java/integration/IntegrationTestZipkinSpanReporter.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/test/java/integration/IntegrationTestZipkinSpanReporter.java index e1b3228c3..a8774e550 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/test/java/integration/IntegrationTestZipkinSpanReporter.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/src/test/java/integration/IntegrationTestZipkinSpanReporter.java @@ -15,22 +15,25 @@ */ package integration; -import lombok.extern.apachecommons.CommonsLog; -import org.springframework.cloud.sleuth.zipkin.ZipkinSpanReporter; -import zipkin.Span; - import java.util.Collections; import java.util.LinkedList; import java.util.List; +import org.apache.commons.logging.Log; +import org.springframework.cloud.sleuth.zipkin.ZipkinSpanReporter; + +import zipkin.Span; + /** * Span Collector that logs spans and adds Spans to a list * * @author Marcin Grzejszczak */ -@CommonsLog public class IntegrationTestZipkinSpanReporter implements ZipkinSpanReporter { + private static final Log log = org.apache.commons.logging.LogFactory + .getLog(IntegrationTestZipkinSpanReporter.class); + public List hashedSpans = Collections.synchronizedList(new LinkedList<>()); @Override diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml index c571a411e..7765d3ba1 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml @@ -60,10 +60,6 @@ org.springframework.boot spring-boot-starter-actuator - - org.projectlombok - lombok - org.springframework.boot spring-boot-starter-test diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleController.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleController.java index 9f37c3680..e0c3a5d37 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleController.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleController.java @@ -16,14 +16,13 @@ package sample; -import lombok.SneakyThrows; +import java.util.Random; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; -import java.util.Random; - /** * @author Spencer Gibb * @author Dave Syer @@ -36,15 +35,13 @@ public class SampleController { @Autowired private Random random; - @SneakyThrows @RequestMapping("/") - public String hi() { + public String hi() throws InterruptedException { Thread.sleep(this.random.nextInt(1000)); String s = this.restTemplate.getForObject("http://zipkin/hi2", String.class); return "hi/" + s; } - @SneakyThrows @RequestMapping("/call") public String traced() { String s = this.restTemplate.getForObject("http://zipkin/call", String.class); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml index 1f7a0a7c6..561ff62ac 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml @@ -64,10 +64,6 @@ org.springframework.boot spring-boot-starter-actuator - - org.projectlombok - lombok - org.springframework.boot spring-boot-starter-test diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleBackground.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleBackground.java index c7664ad06..329fcddf5 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleBackground.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleBackground.java @@ -18,8 +18,6 @@ package sample; import java.util.Random; -import lombok.SneakyThrows; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.sleuth.Tracer; import org.springframework.scheduling.annotation.Async; @@ -34,9 +32,8 @@ public class SampleBackground { @Autowired private Tracer tracer; - @SneakyThrows @Async - public void background() { + public void background() throws InterruptedException { final Random random = new Random(); int millis = random.nextInt(1000); Thread.sleep(millis); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleController.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleController.java index bd912393a..d9a32499b 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleController.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleController.java @@ -19,8 +19,7 @@ package sample; import java.util.Random; import java.util.concurrent.Callable; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent; import org.springframework.cloud.sleuth.Span; @@ -36,10 +35,12 @@ import org.springframework.web.client.RestTemplate; /** * @author Spencer Gibb */ -@Slf4j @RestController public class SampleController implements ApplicationListener { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SampleController.class); + @Autowired private RestTemplate restTemplate; @Autowired @@ -52,9 +53,8 @@ ApplicationListener { private Random random; private int port; - @SneakyThrows @RequestMapping("/") - public String hi() { + public String hi() throws InterruptedException { Thread.sleep(this.random.nextInt(1000)); String s = this.restTemplate.getForObject("http://localhost:" + this.port @@ -77,23 +77,21 @@ ApplicationListener { } @RequestMapping("/async") - public String async() { + public String async() throws InterruptedException { this.controller.background(); return "ho"; } - @SneakyThrows @RequestMapping("/hi2") - public String hi2() { + public String hi2() throws InterruptedException { int millis = this.random.nextInt(1000); Thread.sleep(millis); this.tracer.addTag("random-sleep-millis", String.valueOf(millis)); return "hi2"; } - @SneakyThrows @RequestMapping("/traced") - public String traced() { + public String traced() throws InterruptedException { Span span = this.tracer.startTrace(new SpanName("http", "customTraceEndpoint"), new AlwaysSampler()); int millis = this.random.nextInt(1000); @@ -107,9 +105,8 @@ ApplicationListener { return "traced/" + s; } - @SneakyThrows @RequestMapping("/start") - public String start() { + public String start() throws InterruptedException { int millis = this.random.nextInt(1000); log.info("Sleeping for {} millis", millis); Thread.sleep(millis); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml index 4b250f6dc..78c0028fb 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml @@ -67,10 +67,6 @@ org.springframework.boot spring-boot-starter-actuator - - org.projectlombok - lombok - junit junit diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AbstractIntegrationTest.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AbstractIntegrationTest.java index 6cb4e1df3..bd2cfe4e2 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AbstractIntegrationTest.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AbstractIntegrationTest.java @@ -15,9 +15,6 @@ */ package tools; -import static java.util.concurrent.TimeUnit.SECONDS; -import static org.assertj.core.api.BDDAssertions.then; - import java.net.URI; import java.util.ArrayList; import java.util.Collection; @@ -28,6 +25,7 @@ import java.util.stream.Collectors; import org.junit.After; import org.junit.Before; +import org.slf4j.Logger; import org.springframework.cloud.sleuth.trace.IntegrationTestSpanContextHolder; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -39,16 +37,20 @@ import org.springframework.web.client.RestTemplate; import com.jayway.awaitility.Awaitility; import com.jayway.awaitility.core.ConditionFactory; -import lombok.extern.slf4j.Slf4j; import zipkin.Codec; import zipkin.Span; +import static java.util.concurrent.TimeUnit.SECONDS; +import static org.assertj.core.api.BDDAssertions.then; + /** * @author Marcin Grzejszczak */ -@Slf4j public abstract class AbstractIntegrationTest { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(AbstractIntegrationTest.class); + protected static int pollInterval = 1; protected static int timeout = 20; protected RestTemplate restTemplate = new AssertingRestTemplate(); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AssertingRestTemplate.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AssertingRestTemplate.java index b7142c9b3..5bb2e8f3c 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AssertingRestTemplate.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/AssertingRestTemplate.java @@ -15,23 +15,29 @@ */ package tools; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.HttpMethod; -import org.springframework.http.client.ClientHttpResponse; -import org.springframework.web.client.*; - import java.io.IOException; import java.net.URI; +import org.slf4j.Logger; +import org.springframework.http.HttpMethod; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.web.client.DefaultResponseErrorHandler; +import org.springframework.web.client.RequestCallback; +import org.springframework.web.client.ResponseExtractor; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; + /** * * RestTemplate that logs erroneous responses and throws AssertionsError on any connection issues * * @author Marcin Grzejszczak */ -@Slf4j public class AssertingRestTemplate extends RestTemplate { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(AssertingRestTemplate.class); + public AssertingRestTemplate() { setErrorHandler(new DefaultResponseErrorHandler() { @Override diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/RequestSendingRunnable.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/RequestSendingRunnable.java index 4194ec53b..6042a9140 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/RequestSendingRunnable.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/src/main/java/tools/RequestSendingRunnable.java @@ -15,11 +15,10 @@ */ package tools; -import static org.assertj.core.api.BDDAssertions.then; - import java.net.URI; import java.util.Random; +import org.slf4j.Logger; import org.springframework.cloud.sleuth.Span; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -28,7 +27,7 @@ import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; -import lombok.extern.slf4j.Slf4j; +import static org.assertj.core.api.BDDAssertions.then; /** * Runnable that will send a request via the provide rest template to the @@ -36,8 +35,11 @@ import lombok.extern.slf4j.Slf4j; * * @author Marcin Grzejszczak */ -@Slf4j public class RequestSendingRunnable implements Runnable { + + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(RequestSendingRunnable.class); + private final RestTemplate restTemplate; private final String url; private final long traceId; diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml index 922aeb7f9..b5817860b 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml @@ -54,12 +54,6 @@ mysql-connector-java true - - org.projectlombok - lombok - true - - org.springframework.cloud spring-cloud-stream-test-support diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml index d45edc8c8..516b2ac6c 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml @@ -67,10 +67,6 @@ org.springframework.boot spring-boot-starter-actuator - - org.projectlombok - lombok - org.springframework.boot spring-boot-starter-test diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleBackground.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleBackground.java index c39e5759b..9a91ed459 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleBackground.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleBackground.java @@ -16,14 +16,13 @@ package sample; -import lombok.SneakyThrows; +import java.util.Random; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.sleuth.Tracer; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; -import java.util.Random; - /** * @author Spencer Gibb */ @@ -35,9 +34,8 @@ public class SampleBackground { @Autowired private Random random; - @SneakyThrows @Async - public void background() { + public void background() throws InterruptedException { int millis = this.random.nextInt(1000); Thread.sleep(millis); this.tracer.addTag("background-sleep-millis", String.valueOf(millis)); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleController.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleController.java index 21aa5fa66..e39d92b86 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleController.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleController.java @@ -19,6 +19,7 @@ package sample; import java.util.Random; import java.util.concurrent.Callable; +import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent; import org.springframework.cloud.sleuth.Span; @@ -31,16 +32,16 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; - /** * @author Spencer Gibb */ -@Slf4j @RestController public class SampleController implements ApplicationListener { + + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SampleController.class); + @Autowired private RestTemplate restTemplate; @Autowired @@ -53,9 +54,8 @@ ApplicationListener { private Random random; private int port; - @SneakyThrows @RequestMapping("/") - public String hi() { + public String hi() throws InterruptedException { Thread.sleep(this.random.nextInt(1000)); log.info("Home page"); String s = this.restTemplate.getForObject("http://localhost:" + this.port @@ -78,15 +78,14 @@ ApplicationListener { } @RequestMapping("/async") - public String async() { + public String async() throws InterruptedException { log.info("async"); this.controller.background(); return "ho"; } - @SneakyThrows @RequestMapping("/hi2") - public String hi2() { + public String hi2() throws InterruptedException { log.info("hi2"); int millis = this.random.nextInt(1000); Thread.sleep(millis); @@ -94,9 +93,8 @@ ApplicationListener { return "hi2"; } - @SneakyThrows @RequestMapping("/traced") - public String traced() { + public String traced() throws InterruptedException { Span span = this.tracer.startTrace(new SpanName("http", "customTraceEndpoint"), new AlwaysSampler()); int millis = this.random.nextInt(1000); @@ -110,9 +108,8 @@ ApplicationListener { return "traced/" + s; } - @SneakyThrows @RequestMapping("/start") - public String start() { + public String start() throws InterruptedException { int millis = this.random.nextInt(1000); log.info("Sleeping for {} millis", millis); Thread.sleep(millis); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleZipkinApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleZipkinApplication.java index cfdcf3000..ed1207401 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleZipkinApplication.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/main/java/sample/SampleZipkinApplication.java @@ -16,6 +16,7 @@ package sample; +import org.slf4j.Logger; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -24,17 +25,17 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableAsync; -import lombok.extern.slf4j.Slf4j; - /** * @author Spencer Gibb */ @SpringBootApplication @EnableAspectJAutoProxy(proxyTargetClass = true) @EnableAsync -@Slf4j public class SampleZipkinApplication { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SampleZipkinApplication.class); + public static void main(String[] args) { SpringApplication.run(SampleZipkinApplication.class, args); } diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/test/java/integration/ZipkinTests.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/test/java/integration/ZipkinTests.java index 0e60ce3d0..ec7fd409e 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/test/java/integration/ZipkinTests.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/src/test/java/integration/ZipkinTests.java @@ -20,6 +20,7 @@ import java.util.Random; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.WebIntegrationTest; @@ -33,8 +34,6 @@ import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import integration.ZipkinTests.WaitUntilZipkinIsUpConfig; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; import sample.SampleZipkinApplication; import tools.AbstractIntegrationTest; import zipkin.server.ZipkinServer; @@ -73,10 +72,12 @@ public class ZipkinTests extends AbstractIntegrationTest { } @Configuration - @Slf4j public static class WaitUntilZipkinIsUpConfig { + + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(WaitUntilZipkinIsUpConfig.class); + @Bean - @SneakyThrows public ZipkinSpanReporter spanCollector(final ZipkinProperties zipkin, final SpanReporterService spanReporterService) { await().until(new Runnable() { diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml index 413eac3b4..14b008374 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml @@ -52,10 +52,6 @@ org.springframework.boot spring-boot-starter-aop - - org.projectlombok - lombok - org.springframework.boot spring-boot-starter-test diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleBackground.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleBackground.java index c39e5759b..9a91ed459 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleBackground.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleBackground.java @@ -16,14 +16,13 @@ package sample; -import lombok.SneakyThrows; +import java.util.Random; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.sleuth.Tracer; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; -import java.util.Random; - /** * @author Spencer Gibb */ @@ -35,9 +34,8 @@ public class SampleBackground { @Autowired private Random random; - @SneakyThrows @Async - public void background() { + public void background() throws InterruptedException { int millis = this.random.nextInt(1000); Thread.sleep(millis); this.tracer.addTag("background-sleep-millis", String.valueOf(millis)); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleController.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleController.java index bd912393a..17c841616 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleController.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleController.java @@ -19,8 +19,7 @@ package sample; import java.util.Random; import java.util.concurrent.Callable; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent; import org.springframework.cloud.sleuth.Span; @@ -36,10 +35,11 @@ import org.springframework.web.client.RestTemplate; /** * @author Spencer Gibb */ -@Slf4j @RestController public class SampleController implements ApplicationListener { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(SampleController.class); @Autowired private RestTemplate restTemplate; @Autowired @@ -52,9 +52,8 @@ ApplicationListener { private Random random; private int port; - @SneakyThrows @RequestMapping("/") - public String hi() { + public String hi() throws InterruptedException { Thread.sleep(this.random.nextInt(1000)); String s = this.restTemplate.getForObject("http://localhost:" + this.port @@ -77,23 +76,21 @@ ApplicationListener { } @RequestMapping("/async") - public String async() { + public String async() throws InterruptedException { this.controller.background(); return "ho"; } - @SneakyThrows @RequestMapping("/hi2") - public String hi2() { + public String hi2() throws InterruptedException { int millis = this.random.nextInt(1000); Thread.sleep(millis); this.tracer.addTag("random-sleep-millis", String.valueOf(millis)); return "hi2"; } - @SneakyThrows @RequestMapping("/traced") - public String traced() { + public String traced() throws InterruptedException { Span span = this.tracer.startTrace(new SpanName("http", "customTraceEndpoint"), new AlwaysSampler()); int millis = this.random.nextInt(1000); @@ -107,9 +104,8 @@ ApplicationListener { return "traced/" + s; } - @SneakyThrows @RequestMapping("/start") - public String start() { + public String start() throws InterruptedException { int millis = this.random.nextInt(1000); log.info("Sleeping for {} millis", millis); Thread.sleep(millis); diff --git a/spring-cloud-sleuth-stream/pom.xml b/spring-cloud-sleuth-stream/pom.xml index 9ea67c4e5..796926f53 100644 --- a/spring-cloud-sleuth-stream/pom.xml +++ b/spring-cloud-sleuth-stream/pom.xml @@ -44,12 +44,6 @@ spring-boot-configuration-processor true - - org.projectlombok - lombok - - true - org.assertj assertj-core diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java index c6bda4f8b..f257f04fd 100644 --- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java +++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Host.java @@ -22,22 +22,23 @@ import java.nio.ByteBuffer; import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.AllArgsConstructor; -import lombok.Data; - /** * @author Dave Syer * */ @JsonInclude(JsonInclude.Include.NON_NULL) -@Data -@AllArgsConstructor public class Host { private String serviceName; private String address; private Integer port; + public Host(String serviceName, String address, Integer port) { + this.serviceName = serviceName; + this.address = address; + this.port = port; + } + public int getIpv4() { InetAddress inetAddress = null; try { @@ -49,4 +50,27 @@ public class Host { return ByteBuffer.wrap(inetAddress.getAddress()).getInt(); } + public String getServiceName() { + return this.serviceName; + } + + public String getAddress() { + return this.address; + } + + public Integer getPort() { + return this.port; + } + + public void setServiceName(String serviceName) { + this.serviceName = serviceName; + } + + public void setAddress(String address) { + this.address = address; + } + + public void setPort(Integer port) { + this.port = port; + } } diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamProperties.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamProperties.java index 0422de8e3..0df21d393 100644 --- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamProperties.java +++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/SleuthStreamProperties.java @@ -18,14 +18,27 @@ package org.springframework.cloud.sleuth.stream; import org.springframework.boot.context.properties.ConfigurationProperties; -import lombok.Data; - /** * @author Dave Syer */ @ConfigurationProperties("spring.sleuth.stream") -@Data public class SleuthStreamProperties { private boolean enabled = true; private String group = SleuthSink.INPUT; + + public boolean isEnabled() { + return this.enabled; + } + + public String getGroup() { + return this.group; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public void setGroup(String group) { + this.group = group; + } } diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java index b96c19c36..7c83a866d 100644 --- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java +++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/Spans.java @@ -23,9 +23,6 @@ import org.springframework.cloud.sleuth.Span; import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.AllArgsConstructor; -import lombok.Data; - /** * Data transfer object for a collection of spans from a given host. * @@ -33,11 +30,29 @@ import lombok.Data; * */ @JsonInclude(JsonInclude.Include.NON_DEFAULT) -@Data -@AllArgsConstructor public class Spans { private Host host; private List spans = Collections.emptyList(); + public Spans(Host host, List spans) { + this.host = host; + this.spans = spans; + } + + public Host getHost() { + return this.host; + } + + public List getSpans() { + return this.spans; + } + + public void setHost(Host host) { + this.host = host; + } + + public void setSpans(List spans) { + this.spans = spans; + } } diff --git a/spring-cloud-sleuth-zipkin-stream/pom.xml b/spring-cloud-sleuth-zipkin-stream/pom.xml index 3f6326e6f..2e7ba48ca 100644 --- a/spring-cloud-sleuth-zipkin-stream/pom.xml +++ b/spring-cloud-sleuth-zipkin-stream/pom.xml @@ -75,12 +75,6 @@ mysql-connector-java true - - org.projectlombok - lombok - true - - org.assertj assertj-core diff --git a/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/SamplingZipkinSpanIterator.java b/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/SamplingZipkinSpanIterator.java index b30284f15..a27db1c0d 100644 --- a/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/SamplingZipkinSpanIterator.java +++ b/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/SamplingZipkinSpanIterator.java @@ -18,12 +18,13 @@ package org.springframework.cloud.sleuth.zipkin.stream; import java.util.Iterator; import java.util.NoSuchElementException; -import lombok.extern.apachecommons.CommonsLog; +import org.apache.commons.logging.Log; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanName; import org.springframework.cloud.sleuth.stream.Host; import org.springframework.cloud.sleuth.stream.SleuthSink; import org.springframework.cloud.sleuth.stream.Spans; + import zipkin.BinaryAnnotation; import zipkin.Constants; import zipkin.Endpoint; @@ -33,9 +34,10 @@ import zipkin.Span.Builder; /** * This converts sleuth spans to zipkin ones, skipping invalid or unsampled. */ -@CommonsLog final class SamplingZipkinSpanIterator implements Iterator { + private static final Log log = org.apache.commons.logging.LogFactory + .getLog(SamplingZipkinSpanIterator.class); private static final String MESSAGE_COMPONENT = "message"; private final Sampler sampler; diff --git a/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListener.java b/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListener.java index e42c15705..67c1fa1d4 100644 --- a/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListener.java +++ b/spring-cloud-sleuth-zipkin-stream/src/main/java/org/springframework/cloud/sleuth/zipkin/stream/ZipkinMessageListener.java @@ -1,6 +1,12 @@ package org.springframework.cloud.sleuth.zipkin.stream; -import lombok.extern.apachecommons.CommonsLog; +import java.io.UnsupportedEncodingException; +import java.util.Collections; +import java.util.Iterator; +import java.util.Map; + +import javax.sql.DataSource; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionOutcome; @@ -14,7 +20,11 @@ import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.stream.SleuthSink; import org.springframework.cloud.sleuth.stream.Spans; import org.springframework.cloud.sleuth.zipkin.stream.ZipkinMessageListener.NotSleuthStreamClient; -import org.springframework.context.annotation.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ConditionContext; +import org.springframework.context.annotation.Conditional; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.Environment; import org.springframework.core.env.MapPropertySource; @@ -22,21 +32,20 @@ import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.integration.annotation.MessageEndpoint; import org.springframework.integration.annotation.ServiceActivator; -import zipkin.*; +import zipkin.Annotation; +import zipkin.BinaryAnnotation; import zipkin.BinaryAnnotation.Type; +import zipkin.Endpoint; +import zipkin.Sampler; import zipkin.Span.Builder; - -import javax.sql.DataSource; -import java.io.UnsupportedEncodingException; -import java.util.Collections; -import java.util.Iterator; -import java.util.Map; +import zipkin.SpanStore; @MessageEndpoint -@CommonsLog @Conditional(NotSleuthStreamClient.class) public class ZipkinMessageListener { + private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory + .getLog(ZipkinMessageListener.class); static final String UNKNOWN_PROCESS_ID = "unknown"; @Autowired diff --git a/spring-cloud-sleuth-zipkin/pom.xml b/spring-cloud-sleuth-zipkin/pom.xml index b16fa4e42..25b12f09f 100644 --- a/spring-cloud-sleuth-zipkin/pom.xml +++ b/spring-cloud-sleuth-zipkin/pom.xml @@ -45,12 +45,6 @@ io.zipkin.java zipkin - - org.projectlombok - lombok - - true - org.springframework.boot spring-boot-starter-test diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/FallbackHavingEndpointLocator.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/FallbackHavingEndpointLocator.java index a6a973121..8505fe839 100644 --- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/FallbackHavingEndpointLocator.java +++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/FallbackHavingEndpointLocator.java @@ -1,15 +1,18 @@ package org.springframework.cloud.sleuth.zipkin; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; + import zipkin.Endpoint; /** * Endpoint locator that will try to call an endpoint via Discovery Client * and will fallback to Server Properties if an exception is thrown */ -@Slf4j public class FallbackHavingEndpointLocator implements EndpointLocator { + private static final Logger log = org.slf4j.LoggerFactory + .getLogger(FallbackHavingEndpointLocator.class); + private final DiscoveryClientEndpointLocator discoveryClientEndpointLocator; private final ServerPropertiesEndpointLocator serverPropertiesEndpointLocator; diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporter.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporter.java index 0b9306421..d7b4edc76 100644 --- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporter.java +++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/HttpZipkinSpanReporter.java @@ -1,10 +1,5 @@ package org.springframework.cloud.sleuth.zipkin; -import lombok.extern.apachecommons.CommonsLog; -import org.springframework.cloud.sleuth.metric.SpanReporterService; -import zipkin.Codec; -import zipkin.Span; - import java.io.Closeable; import java.io.Flushable; import java.io.IOException; @@ -20,14 +15,21 @@ import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ScheduledExecutorService; +import org.apache.commons.logging.Log; +import org.springframework.cloud.sleuth.metric.SpanReporterService; + +import zipkin.Codec; +import zipkin.Span; + import static java.util.concurrent.TimeUnit.SECONDS; /** * Submits spans using Zipkin's {@code POST /spans} endpoint. */ -@CommonsLog public final class HttpZipkinSpanReporter implements ZipkinSpanReporter, Flushable, Closeable { + private static final Log log = org.apache.commons.logging.LogFactory + .getLog(HttpZipkinSpanReporter.class); private static final Charset UTF_8 = Charset.forName("UTF-8"); private final String url; diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinProperties.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinProperties.java index 8f54f292d..f408f1951 100644 --- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinProperties.java +++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinProperties.java @@ -18,16 +18,37 @@ package org.springframework.cloud.sleuth.zipkin; import org.springframework.boot.context.properties.ConfigurationProperties; -import lombok.Data; - /** * @author Spencer Gibb */ @ConfigurationProperties("spring.zipkin") -@Data public class ZipkinProperties { /** URL of the zipkin query server instance. */ private String baseUrl = "http://localhost:9411/"; private boolean enabled = true; private int flushInterval = 1; + + public String getBaseUrl() { + return this.baseUrl; + } + + public boolean isEnabled() { + return this.enabled; + } + + public int getFlushInterval() { + return this.flushInterval; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public void setFlushInterval(int flushInterval) { + this.flushInterval = flushInterval; + } } diff --git a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java index da07d4953..6832a67b8 100644 --- a/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java +++ b/spring-cloud-sleuth-zipkin/src/main/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListener.java @@ -19,7 +19,6 @@ package org.springframework.cloud.sleuth.zipkin; import java.nio.charset.Charset; import java.util.Map; -import lombok.extern.apachecommons.CommonsLog; import org.springframework.cloud.sleuth.Log; import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanName; @@ -31,6 +30,7 @@ import org.springframework.cloud.sleuth.event.SpanAcquiredEvent; import org.springframework.cloud.sleuth.event.SpanReleasedEvent; import org.springframework.context.event.EventListener; import org.springframework.core.annotation.Order; + import zipkin.Annotation; import zipkin.BinaryAnnotation; import zipkin.Constants; @@ -39,8 +39,9 @@ import zipkin.Endpoint; /** * @author Spencer Gibb */ -@CommonsLog public class ZipkinSpanListener { + private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory + .getLog(ZipkinSpanListener.class); private static final Charset UTF_8 = Charset.forName("UTF-8"); private static final byte[] UNKNOWN_BYTES = "unknown".getBytes(UTF_8);