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 811ee683f..780cc0454 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 @@ -635,15 +635,15 @@ public class Span implements SpanContext { private String name; private long traceIdHigh; private long traceId; - private ArrayList parents = new ArrayList<>(); + private final ArrayList parents = new ArrayList<>(); private long spanId; private boolean remote; private boolean exportable = true; private String processId; private Span savedSpan; - private List logs = new ArrayList<>(); - private Map tags = new LinkedHashMap<>(); - private Map baggage = new LinkedHashMap<>(); + private final List logs = new ArrayList<>(); + private final Map tags = new LinkedHashMap<>(); + private final Map baggage = new LinkedHashMap<>(); SpanBuilder() { } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAdvisorConfig.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAdvisorConfig.java index 7364d2318..c0becac53 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAdvisorConfig.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAdvisorConfig.java @@ -139,7 +139,7 @@ class SleuthAdvisorConfig extends AbstractPointcutAdvisor implements BeanFactor */ private static class AnnotationMethodsResolver { - private Class annotationType; + private final Class annotationType; public AnnotationMethodsResolver(Class annotationType) { this.annotationType = annotationType; diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAnnotatedParameter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAnnotatedParameter.java index cf890fcd1..cea28a24e 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAnnotatedParameter.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/annotation/SleuthAnnotatedParameter.java @@ -24,11 +24,9 @@ package org.springframework.cloud.sleuth.annotation; */ class SleuthAnnotatedParameter { - int parameterIndex; - - SpanTag annotation; - - Object argument; + final int parameterIndex; + final SpanTag annotation; + final Object argument; SleuthAnnotatedParameter(int parameterIndex, SpanTag annotation, Object argument) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/ExecutorBeanPostProcessor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/ExecutorBeanPostProcessor.java index 69f95f8da..1347fa4fd 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/ExecutorBeanPostProcessor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/ExecutorBeanPostProcessor.java @@ -98,6 +98,7 @@ class ExecutorBeanPostProcessor implements BeanPostProcessor { return factory.getObject(); } + @SuppressWarnings("unchecked") Object createProxy(Object bean, boolean cglibProxy, Executor executor) { ProxyFactoryBean factory = new ProxyFactoryBean(); factory.setProxyTargetClass(cglibProxy); diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java index 610fb456e..61ff81a02 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java @@ -37,7 +37,7 @@ import org.springframework.cloud.sleuth.Tracer; * @since 1.0.0 */ public class TraceableExecutorService implements ExecutorService { - ExecutorService delegate; + final ExecutorService delegate; Tracer tracer; private final String spanName; TraceKeys traceKeys; 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 1e9c3dfde..1c6631675 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 @@ -16,6 +16,12 @@ package org.springframework.cloud.sleuth.instrument.hystrix; +import java.lang.invoke.MethodHandles; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Callable; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + import com.netflix.hystrix.HystrixThreadPoolKey; import com.netflix.hystrix.HystrixThreadPoolProperties; import com.netflix.hystrix.strategy.HystrixPlugins; @@ -33,12 +39,6 @@ import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.TraceKeys; import org.springframework.cloud.sleuth.Tracer; -import java.lang.invoke.MethodHandles; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Callable; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - /** * A {@link HystrixConcurrencyStrategy} that wraps a {@link Callable} in a * {@link Callable} that either starts a new span or continues one if the tracing was @@ -146,10 +146,10 @@ public class SleuthHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy private static final Log log = LogFactory.getLog(MethodHandles.lookup().lookupClass()); - private Tracer tracer; - private TraceKeys traceKeys; - private Callable callable; - private Span parent; + private final Tracer tracer; + private final TraceKeys traceKeys; + private final Callable callable; + private final Span parent; public HystrixTraceCallable(Tracer tracer, TraceKeys traceKeys, Callable callable) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java index 9a65485f7..ab9883419 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/AbstractTraceChannelInterceptor.java @@ -43,7 +43,7 @@ abstract class AbstractTraceChannelInterceptor extends ChannelInterceptorAdapter private MessagingSpanTextMapExtractor spanExtractor; private MessagingSpanTextMapInjector spanInjector; private ErrorParser errorParser; - private BeanFactory beanFactory; + private final BeanFactory beanFactory; protected AbstractTraceChannelInterceptor(BeanFactory beanFactory) { this.beanFactory = beanFactory; diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersHook.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersHook.java index 47811e5f3..f049705c0 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersHook.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/rxjava/SleuthRxJavaSchedulersHook.java @@ -83,9 +83,9 @@ class SleuthRxJavaSchedulersHook extends RxJavaSchedulersHook { static class TraceAction implements Action0 { private final Action0 actual; - private Tracer tracer; - private TraceKeys traceKeys; - private Span parent; + private final Tracer tracer; + private final TraceKeys traceKeys; + private final Span parent; private final List threadsToIgnore; public TraceAction(Tracer tracer, TraceKeys traceKeys, Action0 actual, diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java index d9bc21651..931bea80d 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java @@ -96,14 +96,14 @@ public class TraceFilter extends GenericFilterBean { private Tracer tracer; private TraceKeys traceKeys; - private Pattern skipPattern; + private final Pattern skipPattern; private SpanReporter spanReporter; private HttpSpanExtractor spanExtractor; private HttpTraceKeysInjector httpTraceKeysInjector; private ErrorParser errorParser; - private BeanFactory beanFactory; + private final BeanFactory beanFactory; - private UrlPathHelper urlPathHelper = new UrlPathHelper(); + private final UrlPathHelper urlPathHelper = new UrlPathHelper(); public TraceFilter(BeanFactory beanFactory) { this(beanFactory, skipPattern(beanFactory)); 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 24fa0137a..cef5f2254 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 @@ -67,6 +67,7 @@ import java.util.concurrent.Callable; * @see org.springframework.cloud.sleuth.Tracer * @see org.springframework.cloud.sleuth.instrument.web.TraceFilter */ +@SuppressWarnings("ArgNamesWarningsInspection") @Aspect public class TraceWebAspect { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignContext.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignContext.java index a7735e1b6..855cb11e6 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignContext.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignContext.java @@ -24,12 +24,14 @@ class TraceFeignContext extends FeignContext { } @Override + @SuppressWarnings("unchecked") public T getInstance(String name, Class type) { T object = this.delegate.getInstance(name, type); return (T) this.traceFeignObjectWrapper.wrap(object); } @Override + @SuppressWarnings("unchecked") public Map getInstances(String name, Class type) { Map instances = this.delegate.getInstances(name, type); if (instances == null) { diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulHandlerMappingBeanPostProcessor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulHandlerMappingBeanPostProcessor.java index 09da092a8..567709569 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulHandlerMappingBeanPostProcessor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/zuul/TraceZuulHandlerMappingBeanPostProcessor.java @@ -52,7 +52,7 @@ class TraceZuulHandlerMappingBeanPostProcessor implements BeanPostProcessor { } ZuulHandlerMapping zuulHandlerMapping = (ZuulHandlerMapping) bean; zuulHandlerMapping.setInterceptors( - new Object[] { new TraceHandlerInterceptor(this.beanFactory) }); + new TraceHandlerInterceptor(this.beanFactory)); } return bean; } diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/IsTracingSampler.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/IsTracingSampler.java index 1e4f4c0b1..27ba35a1f 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/IsTracingSampler.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/IsTracingSampler.java @@ -30,7 +30,7 @@ import org.springframework.cloud.sleuth.SpanAccessor; */ public class IsTracingSampler implements Sampler { - private SpanAccessor accessor; + private final SpanAccessor accessor; public IsTracingSampler(SpanAccessor accessor) { this.accessor = accessor; 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 52dc35314..7bfd3a59e 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 @@ -112,9 +112,9 @@ class SpanContextHolder { } private static class SpanContext { - Span span; - boolean autoClose; - SpanContext parent; + final Span span; + final boolean autoClose; + final SpanContext parent; public SpanContext(Span span, boolean autoClose) { this.span = span; diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/ListOfSpansAssert.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/ListOfSpansAssert.java index 96583fef0..c713d047c 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/ListOfSpansAssert.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/assertions/ListOfSpansAssert.java @@ -64,8 +64,8 @@ public class ListOfSpansAssert extends AbstractAssert matchingSpans = this.actual.spans.stream() - .filter(span -> span.getName().equals(name) && span.logs().stream().filter(entry -> - entry.getEvent().equals(Span.CLIENT_SEND)).findAny().isPresent()).collect(toList()); + .filter(span -> span.getName().equals(name) && span.logs().stream().anyMatch(entry -> + entry.getEvent().equals(Span.CLIENT_SEND))).collect(toList()); assertThat(matchingSpans).isNotEmpty(); List> matchingSpansTags = matchingSpans.stream().map(Span::tags).collect( toList()); 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 918004b7e..80639099f 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 @@ -159,7 +159,7 @@ public class SpanAssert extends AbstractAssert { public SpanAssert hasLoggedAnEvent(String event) { isNotNull(); if (!this.actual.logs().stream().map(org.springframework.cloud.sleuth.Log::getEvent) - .filter(s -> s.equals(event)).findAny().isPresent()) { + .anyMatch(s -> s.equals(event))) { String message = String.format("Expected span to have the event with event value <%s>. " + "Found logs are <%s>", event, this.actual.logs()); log.error(message); @@ -171,7 +171,7 @@ public class SpanAssert extends AbstractAssert { public SpanAssert hasNotLoggedAnEvent(String event) { isNotNull(); if (this.actual.logs().stream().map(org.springframework.cloud.sleuth.Log::getEvent) - .filter(s -> s.equals(event)).findAny().isPresent()) { + .anyMatch(s -> s.equals(event))) { String message = String.format("Expected span NOT to have the event with event value <%s>. " + "Found logs are <%s>", event, this.actual.logs()); log.error(message); diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationTests.java index 505dc2c6a..819a911e2 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/autoconfig/TraceAutoConfigurationTests.java @@ -1,4 +1,4 @@ -/** +/* * Copyright 2015-2016 The OpenZipkin Authors *

* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/HttpTraceKeysInjectorUnitTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/HttpTraceKeysInjectorUnitTests.java index 3318c4c3f..d4bb4dc03 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/HttpTraceKeysInjectorUnitTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/HttpTraceKeysInjectorUnitTests.java @@ -42,7 +42,7 @@ public class HttpTraceKeysInjectorUnitTests { headers.add(Span.SPAN_ID_NAME, "763261a53162f330"); headers.add(Span.SAMPLED_NAME,"1"); headers.add(Span.SPAN_NAME_NAME, "http:/"); - this.traceKeys.getHttp().setHeaders(Arrays.asList("Accept", "User-Agent", "Content-Type"));; + this.traceKeys.getHttp().setHeaders(Arrays.asList("Accept", "User-Agent", "Content-Type")); this.injector.addRequestTags(url.toString(), url.getHost(), url.getPath(), HttpMethod.GET.name(), headers ); diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java index 65a56dc43..74355efc4 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/SpringDataInstrumentationTests.java @@ -16,17 +16,15 @@ package org.springframework.cloud.sleuth.instrument.web; -import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then; - import java.util.Collection; import java.util.stream.Collectors; import java.util.stream.Stream; - import javax.annotation.PostConstruct; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; +import org.awaitility.Awaitility; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -55,7 +53,7 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.client.RestTemplate; -import org.awaitility.Awaitility; +import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then; /** * @author Marcin Grzejszczak @@ -141,7 +139,6 @@ class SampleRecords { private final ReservationRepository reservationRepository; - @Autowired public SampleRecords(ReservationRepository reservationRepository) { this.reservationRepository = reservationRepository; } diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceAsyncIntegrationTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceAsyncIntegrationTests.java index a4928643e..52b93e165 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceAsyncIntegrationTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceAsyncIntegrationTests.java @@ -2,12 +2,10 @@ package org.springframework.cloud.sleuth.instrument.web; import static java.util.concurrent.TimeUnit.SECONDS; -import static org.assertj.core.api.BDDAssertions.then; import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then; import java.util.concurrent.atomic.AtomicReference; -import org.assertj.core.api.BDDAssertions; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/exception/WebClientExceptionTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/exception/WebClientExceptionTests.java index 6ebd501f7..2b3657e44 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/exception/WebClientExceptionTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/exception/WebClientExceptionTests.java @@ -123,11 +123,11 @@ public class WebClientExceptionTests { } Object[] parametersForShouldCloseSpanUponException() { - return $( + return new Object[] { (ResponseEntityProvider) (tests) -> tests.testFeignInterfaceWithException .shouldFailToConnect(), (ResponseEntityProvider) (tests) -> tests.template - .getForEntity("http://exceptionservice/", Map.class)); + .getForEntity("http://exceptionservice/", Map.class) }; } @FeignClient("exceptionservice") diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/FeignRetriesTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/FeignRetriesTests.java index 17d724ebd..041cb453e 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/FeignRetriesTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/FeignRetriesTests.java @@ -118,8 +118,12 @@ public class FeignRetriesTests { throw new IOException(); } else { // with the second retry (first retry) we send back good result - return Response.create(200, "OK", new HashMap<>(), - "OK", Charset.defaultCharset()); + return Response.builder() + .status(200) + .reason("OK") + .headers(new HashMap<>()) + .body("OK", Charset.defaultCharset()) + .build(); } }; TestInterface api = diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue350/Issue350Tests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue350/Issue350Tests.java index f57c0aebb..f6c5e63b5 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue350/Issue350Tests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue350/Issue350Tests.java @@ -108,8 +108,7 @@ class ServiceTestController { @RequestMapping("/ok") public String ok() throws InterruptedException, ExecutionException { - String result = "I'm OK"; - return result; + return "I'm OK"; } @RequestMapping("/not-ok") diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue362/Issue362Tests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue362/Issue362Tests.java index e65d7f1aa..6a38d93d1 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue362/Issue362Tests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/feign/issues/issue362/Issue362Tests.java @@ -217,8 +217,7 @@ class ServiceTestController { @RequestMapping("/ok") public String ok() throws InterruptedException, ExecutionException { - String result = "I'm OK"; - return result; + return "I'm OK"; } @RequestMapping("/not-ok") @@ -237,13 +236,11 @@ class SleuthTestController { @RequestMapping("/test-ok") public String ok() throws InterruptedException, ExecutionException { - String result = myFeignClient.ok(); - return result; + return myFeignClient.ok(); } @RequestMapping("/test-not-ok") public String notOk() throws InterruptedException, ExecutionException { - String result = myFeignClient.exp(); - return result; + return myFeignClient.exp(); } } \ No newline at end of file diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java index 1c9db2dd4..4f283fc69 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java @@ -77,7 +77,6 @@ import com.netflix.loadbalancer.Server; import junitparams.JUnitParamsRunner; import junitparams.Parameters; -import static junitparams.JUnitParamsRunner.$; import static org.assertj.core.api.Assertions.fail; import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then; @@ -130,7 +129,7 @@ public class WebClientTests { } Object[] parametersForShouldCreateANewSpanWithClientSideTagsWhenNoPreviousTracingWasPresent() { - return $( + return new Object[] { (ResponseEntityProvider) (tests) -> tests.testFeignInterface.getNoTrace(), (ResponseEntityProvider) (tests) -> tests.testFeignInterface.getNoTrace(), (ResponseEntityProvider) (tests) -> tests.testFeignInterface.getNoTrace(), @@ -146,7 +145,8 @@ public class WebClientTests { (ResponseEntityProvider) (tests) -> tests.template.getForEntity("http://fooservice/notrace", String.class), (ResponseEntityProvider) (tests) -> tests.template.getForEntity("http://fooservice/notrace", String.class), (ResponseEntityProvider) (tests) -> tests.template.getForEntity("http://fooservice/notrace", String.class), - (ResponseEntityProvider) (tests) -> tests.template.getForEntity("http://fooservice/notrace", String.class)); + (ResponseEntityProvider) (tests) -> tests.template.getForEntity("http://fooservice/notrace", String.class) + }; } @Test @@ -166,9 +166,10 @@ public class WebClientTests { } Object[] parametersForShouldPropagateNotSamplingHeader() { - return $((ResponseEntityProvider) (tests) -> tests.testFeignInterface.headers(), + return new Object[] { + (ResponseEntityProvider) (tests) -> tests.testFeignInterface.headers(), (ResponseEntityProvider) (tests) -> tests.template - .getForEntity("http://fooservice/", Map.class)); + .getForEntity("http://fooservice/", Map.class) }; } @Test @@ -206,9 +207,10 @@ public class WebClientTests { } Object[] parametersForShouldAttachTraceIdWhenCallingAnotherService() { - return $((ResponseEntityProvider) (tests) -> tests.testFeignInterface.headers(), + return new Object[] { + (ResponseEntityProvider) (tests) -> tests.testFeignInterface.headers(), (ResponseEntityProvider) (tests) -> tests.template - .getForEntity("http://fooservice/traceid", String.class)); + .getForEntity("http://fooservice/traceid", String.class) }; } @Test @@ -229,11 +231,12 @@ public class WebClientTests { } Object[] parametersForShouldAttachTraceIdWhenUsingFeignClientWithoutResponseBody() { - return $( - (ResponseEntityProvider) (tests) -> tests.testFeignInterface - .noResponseBody(), - (ResponseEntityProvider) (tests) -> tests.template - .getForEntity("http://fooservice/noresponse", String.class)); + return new Object[] { + (ResponseEntityProvider) (tests) -> + tests.testFeignInterface.noResponseBody(), + (ResponseEntityProvider) (tests) -> + tests.template.getForEntity("http://fooservice/noresponse", String.class) + }; } @Test diff --git a/spring-cloud-sleuth-reactor/src/test/java/org/springframework/cloud/sleuth/instrument/reactor/SpanSubscriberTests.java b/spring-cloud-sleuth-reactor/src/test/java/org/springframework/cloud/sleuth/instrument/reactor/SpanSubscriberTests.java index f3e2146d3..8ea6e2901 100644 --- a/spring-cloud-sleuth-reactor/src/test/java/org/springframework/cloud/sleuth/instrument/reactor/SpanSubscriberTests.java +++ b/spring-cloud-sleuth-reactor/src/test/java/org/springframework/cloud/sleuth/instrument/reactor/SpanSubscriberTests.java @@ -86,7 +86,7 @@ public class SpanSubscriberTests { } @Test public void should_not_trace_scalar_flows() { - Span span = this.tracer.createSpan("foo"); + this.tracer.createSpan("foo"); final AtomicReference spanInOperation = new AtomicReference<>(); log.info("Hello"); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleController.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleController.java index 9fdb3b956..95d944a30 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleController.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleController.java @@ -31,9 +31,8 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class SampleController { - private Zipkin zipkin; - - private Random random = new Random(); + private final Zipkin zipkin; + private final Random random = new Random(); @Autowired public SampleController(Zipkin zipkin) { diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleFeignApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleFeignApplication.java index d0429dcce..7b6eacb11 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleFeignApplication.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/src/main/java/sample/SampleFeignApplication.java @@ -34,7 +34,7 @@ import zipkin.Span; @EnableFeignClients public class SampleFeignApplication { - private static Log logger = LogFactory.getLog(SampleFeignApplication.class); + private static final Log logger = LogFactory.getLog(SampleFeignApplication.class); public static void main(String[] args) { SpringApplication.run(SampleFeignApplication.class, args); diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleRibbonApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleRibbonApplication.java index eb9a42e40..ff4a0c18b 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleRibbonApplication.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/src/main/java/sample/SampleRibbonApplication.java @@ -37,7 +37,7 @@ import zipkin.Span; @EnableZuulProxy public class SampleRibbonApplication { - private static Log logger = LogFactory.getLog(SampleRibbonApplication.class); + private static final Log logger = LogFactory.getLog(SampleRibbonApplication.class); public static void main(String[] args) { SpringApplication.run(SampleRibbonApplication.class, args); 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 fcbbc9fe3..1f4a024b4 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 @@ -49,7 +49,7 @@ public class SampleController @Autowired private SampleBackground controller; - private Random random = new Random(); + final private Random random = new Random(); private int port; @RequestMapping("/") diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java index c292b15a9..3d7d5b6f3 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/src/main/java/sample/SampleSleuthApplication.java @@ -31,8 +31,6 @@ import org.springframework.web.client.RestTemplate; @EnableAsync public class SampleSleuthApplication { - public static final String CLIENT_NAME = "testApp"; - @Bean public RestTemplate restTemplate() { return new RestTemplate(); 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 4d4d23a3e..69c544936 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 @@ -53,7 +53,7 @@ public abstract class AbstractIntegrationTest { protected static final int POLL_INTERVAL = 1; protected static final int TIMEOUT = 20; - protected RestTemplate restTemplate = new AssertingRestTemplate(); + protected final RestTemplate restTemplate = new AssertingRestTemplate(); @Before public void clearSpanBefore() { 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 5b93a3449..e52861429 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 @@ -48,7 +48,7 @@ public class SampleController @Autowired private SampleBackground controller; - private Random random = new Random(); + private final Random random = new Random(); private int port; @RequestMapping("/") diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java index c292b15a9..3d7d5b6f3 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/src/main/java/sample/SampleSleuthApplication.java @@ -31,8 +31,6 @@ import org.springframework.web.client.RestTemplate; @EnableAsync public class SampleSleuthApplication { - public static final String CLIENT_NAME = "testApp"; - @Bean public RestTemplate restTemplate() { return new RestTemplate(); diff --git a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java index 63c01e0b9..47c758583 100644 --- a/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java +++ b/spring-cloud-sleuth-stream/src/main/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessor.java @@ -46,7 +46,7 @@ import org.springframework.core.io.support.PropertiesLoaderUtils; public class StreamEnvironmentPostProcessor implements EnvironmentPostProcessor { private static final String PROPERTY_SOURCE_NAME = "defaultProperties"; - static String[] headers = new String[] { TraceMessageHeaders.SPAN_ID_NAME, + static final String[] HEADERS = new String[] { TraceMessageHeaders.SPAN_ID_NAME, TraceMessageHeaders.TRACE_ID_NAME, TraceMessageHeaders.PARENT_ID_NAME, TraceMessageHeaders.PROCESS_ID_NAME, TraceMessageHeaders.SAMPLED_NAME, TraceMessageHeaders.SPAN_NAME_NAME }; @@ -82,7 +82,7 @@ public class StreamEnvironmentPostProcessor implements EnvironmentPostProcessor } private int findStartIndex(ConfigurableEnvironment environment, String binder) { - String prefix = "spring.cloud.stream." + binder + ".binder.headers"; + String prefix = "spring.cloud.stream." + binder + ".binder.HEADERS"; int i = 0; while (environment.getProperty(prefix + "[" + i + "]")!=null) { i++; @@ -127,10 +127,10 @@ public class StreamEnvironmentPostProcessor implements EnvironmentPostProcessor private void addHeaders(Map map, MutablePropertySources propertySources, String binder, int startIndex) { - String stem = "spring.cloud.stream." + binder + ".binder.headers"; - for (int i = 0; i < headers.length; i++) { - if (!hasTracingHeadersValue(propertySources, headers[i])) { - map.put(stem + "[" + (i + startIndex) + "]", headers[i]); + String stem = "spring.cloud.stream." + binder + ".binder.HEADERS"; + for (int i = 0; i < HEADERS.length; i++) { + if (!hasTracingHeadersValue(propertySources, HEADERS[i])) { + map.put(stem + "[" + (i + startIndex) + "]", HEADERS[i]); } } } diff --git a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessorTests.java b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessorTests.java index ac8ba97f9..f779b0a92 100644 --- a/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessorTests.java +++ b/spring-cloud-sleuth-stream/src/test/java/org/springframework/cloud/sleuth/stream/StreamEnvironmentPostProcessorTests.java @@ -42,18 +42,18 @@ public class StreamEnvironmentPostProcessorTests { public void should_append_tracing_headers() { postProcess(); assertThat(this.environment - .getProperty("spring.cloud.stream.test.binder.headers[0]")) + .getProperty("spring.cloud.stream.test.binder.HEADERS[0]")) .isEqualTo(TraceMessageHeaders.SPAN_ID_NAME); } @Test public void should_append_tracing_headers_to_existing_ones() { EnvironmentTestUtils.addEnvironment(this.environment, - "spring.cloud.stream.test.binder.headers[0]=X-Custom", - "spring.cloud.stream.test.binder.headers[1]=X-Mine"); + "spring.cloud.stream.test.binder.HEADERS[0]=X-Custom", + "spring.cloud.stream.test.binder.HEADERS[1]=X-Mine"); postProcess(); assertThat(this.environment - .getProperty("spring.cloud.stream.test.binder.headers[2]")) + .getProperty("spring.cloud.stream.test.binder.HEADERS[2]")) .isEqualTo(TraceMessageHeaders.SPAN_ID_NAME); } @@ -71,9 +71,9 @@ public class StreamEnvironmentPostProcessorTests { assertThat(traceIds).hasSize(1); assertThat(defaultPropertiesSource().keySet().stream() .filter(input -> input - .startsWith("spring.cloud.stream.test.binder.headers")) + .startsWith("spring.cloud.stream.test.binder.HEADERS")) .collect(Collectors.toList())) - .hasSize(StreamEnvironmentPostProcessor.headers.length); + .hasSize(StreamEnvironmentPostProcessor.HEADERS.length); } private void postProcess() { 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 976d8f1a3..4332c1168 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 @@ -16,6 +16,11 @@ package org.springframework.cloud.sleuth.zipkin; +import java.nio.charset.Charset; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + import org.springframework.cloud.commons.util.IdUtils; import org.springframework.cloud.sleuth.Log; import org.springframework.cloud.sleuth.Span; @@ -28,11 +33,6 @@ import zipkin.BinaryAnnotation; import zipkin.Constants; import zipkin.Endpoint; -import java.nio.charset.Charset; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - /** * Listener of Sleuth events. Reports to Zipkin via {@link ZipkinSpanReporter}. * @@ -60,7 +60,7 @@ public class ZipkinSpanListener implements SpanReporter { * the service name from discovery. */ // Visible for testing - EndpointLocator endpointLocator; + final EndpointLocator endpointLocator; public ZipkinSpanListener(ZipkinSpanReporter reporter, EndpointLocator endpointLocator, Environment environment, List spanAdjusters) {