diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanExtractor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanExtractor.java
index 8ccc007f5..49780a978 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanExtractor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanExtractor.java
@@ -17,23 +17,27 @@
package org.springframework.cloud.sleuth;
/**
- * Adopted from OpenTracing
+ * Adopted from
+ * OpenTracing
*
* @author Marcin Grzejszczak
*
* @since 1.0.0
*/
public interface SpanExtractor {
- /** Returns a SpanBuilder provided
- * a “carrier” object from which to extract identifying information needed by the new Span instance.
+ /**
+ * Returns a SpanBuilder provided a “carrier” object from which to extract identifying
+ * information needed by the new Span instance.
*
* If the carrier object has no such span stored within it, a new Span is created.
*
- * Unless there’s an error, it returns a Span.
- * The Span generated from the builder can be used in the host process like any other.
+ * Unless there’s an error, it returns a Span. The Span generated from the builder can
+ * be used in the host process like any other.
*
- * (Note that some OpenTracing implementations consider the Spans on either side of an RPC to have the same identity,
- * and others consider the caller to be the parent and the receiver to be the child).
+ * (Note that some OpenTracing implementations consider the Spans on either side of an
+ * RPC to have the same identity, and others consider the caller to be the parent and
+ * the receiver to be the child).
*/
Span joinTrace(T carrier);
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanInjector.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanInjector.java
index e8c9015ca..48e0868bf 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanInjector.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/SpanInjector.java
@@ -17,21 +17,28 @@
package org.springframework.cloud.sleuth;
/**
- * Adopted from OpenTracing
+ * Adopted from
+ * OpenTracing
*
* @author Marcin Grzejszczak
*
* @since 1.0.0
*/
public interface SpanInjector {
- /** Takes two arguments:
- * a Span instance, and
- * a “carrier” object in which to inject that Span for cross-process propagation.
+ /**
+ * Takes two arguments:
+ *
+ *
a Span instance, and
+ *
a “carrier” object in which to inject that Span for cross-process propagation.
+ *
+ *
*
- * A “carrier” object is some sort of http or rpc envelope, for example HeaderGroup (from Apache HttpComponents).
+ * A “carrier” object is some sort of http or rpc envelope, for example HeaderGroup
+ * (from Apache HttpComponents).
*
- * Attempting to inject to a carrier that has been registered/configured to this Tracer will result in a
- * IllegalStateException.
+ * Attempting to inject to a carrier that has been registered/configured to this
+ * Tracer will result in a IllegalStateException.
*/
void inject(Span span, T carrier);
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/TraceHeaders.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/TraceHeaders.java
index b14799b92..6147832e8 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/TraceHeaders.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/TraceHeaders.java
@@ -19,16 +19,16 @@ package org.springframework.cloud.sleuth;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
- * Names of default headers that need to be sent between processes
- * for tracing to be operational.
+ * Names of default headers that need to be sent between processes for tracing to be
+ * operational.
*
* Default Zipkin Headers are
*
*
- *
{@code X-B3-TraceId} 64 encoded bits
- *
{@code X-B3-SpanId} 64 encoded bits
- *
{@code X-B3-ParentSpanId} 64 encoded bits
- *
{@code X-B3-Sampled} Boolean (either “1” or “0”)
+ *
{@code X-B3-TraceId} 64 encoded bits
+ *
{@code X-B3-SpanId} 64 encoded bits
+ *
{@code X-B3-ParentSpanId} 64 encoded bits
+ *
{@code X-B3-Sampled} Boolean (either “1” or “0”)
*
*
* @author Marcin Grzejszczak
@@ -57,7 +57,7 @@ public class TraceHeaders {
this.sleuth = sleuth;
}
- private static class Zipkin {
+ protected static class Zipkin {
private String traceId = "X-B3-TraceId";
private String spanId = "X-B3-SpanId";
private String parentSpanId = "X-B3-ParentSpanId";
@@ -96,7 +96,7 @@ public class TraceHeaders {
}
}
- private static class Sleuth {
+ protected static class Sleuth {
private String processId = "X-Process-Id";
private String spanName = "X-Span-Name";
private String exportable = "X-Span-Export";
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 4e8ae7a2b..6f594ea4b 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
@@ -19,11 +19,12 @@ import org.springframework.util.ClassUtils;
*
* @author Marcin Grzejszczak
*/
-abstract class AbstractTraceChannelInterceptor extends ChannelInterceptorAdapter implements ExecutorChannelInterceptor {
+abstract class AbstractTraceChannelInterceptor extends ChannelInterceptorAdapter
+ implements ExecutorChannelInterceptor {
/**
- * If a span comes from messaging components then it will have this value
- * as a prefix to its name.
+ * If a span comes from messaging components then it will have this value as a prefix
+ * to its name.
*
* Example of a Span name: {@code message:foo}
*
@@ -33,12 +34,12 @@ abstract class AbstractTraceChannelInterceptor extends ChannelInterceptorAdapter
private final Tracer tracer;
private final TraceKeys traceKeys;
- private final SpanExtractor spanExtractor;
- private final SpanInjector spanInjector;
+ private final SpanExtractor> spanExtractor;
+ private final SpanInjector> spanInjector;
protected AbstractTraceChannelInterceptor(Tracer tracer, TraceKeys traceKeys,
- SpanExtractor spanExtractor,
- SpanInjector spanInjector) {
+ SpanExtractor> spanExtractor,
+ SpanInjector> spanInjector) {
this.tracer = tracer;
this.traceKeys = traceKeys;
this.spanExtractor = spanExtractor;
@@ -53,13 +54,13 @@ abstract class AbstractTraceChannelInterceptor extends ChannelInterceptorAdapter
return this.traceKeys;
}
- protected SpanInjector getSpanInjector() {
+ protected SpanInjector> getSpanInjector() {
return this.spanInjector;
}
/**
- * Returns a span given the message and a channel. Returns {@code null} if ids
- * are missing.
+ * Returns a span given the message and a channel. Returns {@code null} if ids are
+ * missing.
*/
protected Span buildSpan(Message> message) {
return this.spanExtractor.joinTrace(message);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessageBuilderHolder.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessageBuilderHolder.java
index 560817563..741e6ae26 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessageBuilderHolder.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessageBuilderHolder.java
@@ -22,20 +22,20 @@ import org.springframework.messaging.support.MessageBuilder;
/**
* Utility class to contain both {@link MessageBuilder} and the {@link Message}.
*
- * {@link MessageBuilder} is mutable
- * {@link Message} is immutable
+ * {@link MessageBuilder} is mutable {@link Message} is immutable
*
* @author Marcin Grzejszczak
*/
public class MessageBuilderHolder {
- final MessageBuilder messageBuilder;
- final Message message;
+ final MessageBuilder> messageBuilder;
+ final Message> message;
- public MessageBuilderHolder(MessageBuilder messageBuilder, Message message) {
+ public MessageBuilderHolder(MessageBuilder> messageBuilder, Message> message) {
this.messageBuilder = messageBuilder;
this.message = message;
}
- public MessageBuilderHolder(MessageBuilder messageBuilder) {
+
+ public MessageBuilderHolder(MessageBuilder> messageBuilder) {
this.messageBuilder = messageBuilder;
this.message = messageBuilder.build();
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanExtractor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanExtractor.java
index f1d163669..b563fb7d9 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanExtractor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanExtractor.java
@@ -30,7 +30,7 @@ import org.springframework.messaging.Message;
*
* @since 1.0.0
*/
-public class MessagingSpanExtractor implements SpanExtractor {
+public class MessagingSpanExtractor implements SpanExtractor> {
private final Random random;
@@ -38,19 +38,20 @@ public class MessagingSpanExtractor implements SpanExtractor {
this.random = random;
}
- @Override
- public Span joinTrace(Message carrier) {
+ @Override
+ public Span joinTrace(Message> carrier) {
if (!hasHeader(carrier, Span.TRACE_ID_NAME)
|| !hasHeader(carrier, Span.SPAN_ID_NAME)) {
return null;
- //TODO: Consider throwing IllegalArgumentException;
+ // TODO: Consider throwing IllegalArgumentException;
}
long spanId = hasHeader(carrier, Span.SPAN_ID_NAME)
? Span.hexToId(getHeader(carrier, Span.SPAN_ID_NAME))
: this.random.nextLong();
long traceId = Span.hexToId(getHeader(carrier, Span.TRACE_ID_NAME));
SpanBuilder spanBuilder = Span.builder().traceId(traceId).spanId(spanId);
- spanBuilder.exportable(Span.SPAN_SAMPLED.equals(getHeader(carrier, Span.SAMPLED_NAME)));
+ spanBuilder.exportable(
+ Span.SPAN_SAMPLED.equals(getHeader(carrier, Span.SAMPLED_NAME)));
String parentId = getHeader(carrier, Span.PARENT_ID_NAME);
String processId = getHeader(carrier, Span.PROCESS_ID_NAME);
String spanName = getHeader(carrier, Span.SPAN_NAME_NAME);
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjector.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjector.java
index de2afe29a..b358fd626 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjector.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjector.java
@@ -36,7 +36,7 @@ import org.springframework.util.StringUtils;
*
* @since 1.0.0
*/
-class MessagingSpanInjector implements SpanInjector {
+class MessagingSpanInjector implements SpanInjector> {
public static final String SPAN_HEADER = "X-Current-Span";
@@ -47,12 +47,13 @@ class MessagingSpanInjector implements SpanInjector {
}
@Override
- public void inject(Span span, MessageBuilder carrier) {
- Message initialMessage = carrier.build();
+ public void inject(Span span, MessageBuilder> carrier) {
+ Message> initialMessage = carrier.build();
MessageHeaderAccessor accessor = MessageHeaderAccessor
.getMutableAccessor(initialMessage);
if (span == null) {
- if (!Span.SPAN_SAMPLED.equals(initialMessage.getHeaders().get(Span.SAMPLED_NAME))) {
+ if (!Span.SPAN_SAMPLED
+ .equals(initialMessage.getHeaders().get(Span.SAMPLED_NAME))) {
accessor.setHeader(Span.SAMPLED_NAME, Span.SPAN_NOT_SAMPLED);
carrier.setHeaders(accessor);
return;
@@ -86,8 +87,7 @@ class MessagingSpanInjector implements SpanInjector {
carrier.setHeaders(accessor);
}
- private void addAnnotations(TraceKeys traceKeys, Message> message,
- Span span) {
+ private void addAnnotations(TraceKeys traceKeys, Message> message, Span span) {
for (String name : traceKeys.getMessage().getHeaders()) {
if (message.getHeaders().containsKey(name)) {
String key = traceKeys.getMessage().getPrefix() + name.toLowerCase();
@@ -95,7 +95,8 @@ class MessagingSpanInjector implements SpanInjector {
if (value == null) {
value = "null";
}
- tagIfEntryMissing(span, key, value.toString()); // TODO: better way to serialize?
+ // TODO: better way to serialize?
+ tagIfEntryMissing(span, key, value.toString());
}
}
addPayloadAnnotations(traceKeys, message.getPayload(), span);
@@ -122,8 +123,7 @@ class MessagingSpanInjector implements SpanInjector {
}
}
- private void addHeader(Map headers, String name,
- String value) {
+ private void addHeader(Map headers, String name, String value) {
if (StringUtils.hasText(value)) {
headers.put(name, value);
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java
index f8b798d65..f9119a09a 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java
@@ -28,7 +28,8 @@ import org.springframework.messaging.MessageHandler;
import org.springframework.messaging.support.MessageBuilder;
/**
- * A channel interceptor that automatically starts / continues / closes and detaches spans.
+ * A channel interceptor that automatically starts / continues / closes and detaches
+ * spans.
*
* @author Dave Syer
* @since 1.0.0
@@ -38,8 +39,8 @@ public class TraceChannelInterceptor extends AbstractTraceChannelInterceptor {
private static final String SPAN_HEADER = "X-Current-Span";
public TraceChannelInterceptor(Tracer tracer, TraceKeys traceKeys,
- SpanExtractor spanExtractor,
- SpanInjector spanInjector) {
+ SpanExtractor> spanExtractor,
+ SpanInjector> spanInjector) {
super(tracer, traceKeys, spanExtractor, spanInjector);
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpanMessagingAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpanMessagingAutoConfiguration.java
index 576d8b363..6fcaced33 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpanMessagingAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpanMessagingAutoConfiguration.java
@@ -28,24 +28,24 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
/**
- * AutoConfiguration containing Span extractor and injector for messaging.
- * Will be reused by Messaging and WebSockets
+ * AutoConfiguration containing Span extractor and injector for messaging. Will be reused
+ * by Messaging and WebSockets
*
* @author Marcin Grzejszczak
*
* @since 1.0.0
*/
@Configuration
-@ConditionalOnBean({TraceKeys.class, Random.class})
+@ConditionalOnBean({ TraceKeys.class, Random.class })
public class TraceSpanMessagingAutoConfiguration {
@Bean
- public SpanExtractor messagingSpanExtractor(Random random) {
+ public SpanExtractor> messagingSpanExtractor(Random random) {
return new MessagingSpanExtractor(random);
}
@Bean
- public SpanInjector messagingSpanInjector(TraceKeys traceKeys) {
+ public SpanInjector> messagingSpanInjector(TraceKeys traceKeys) {
return new MessagingSpanInjector(traceKeys);
}
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java
index f538c525e..170469660 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java
@@ -23,11 +23,11 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.cloud.sleuth.SpanInjector;
import org.springframework.cloud.sleuth.SpanExtractor;
+import org.springframework.cloud.sleuth.SpanInjector;
+import org.springframework.cloud.sleuth.TraceKeys;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.cloud.sleuth.autoconfig.TraceAutoConfiguration;
-import org.springframework.cloud.sleuth.TraceKeys;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.config.GlobalChannelInterceptor;
@@ -35,8 +35,9 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
/**
- * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration Auto-configuration}
- * that registers a Sleuth version of the {@link org.springframework.messaging.support.ChannelInterceptor}.
+ * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration
+ * Auto-configuration} that registers a Sleuth version of the
+ * {@link org.springframework.messaging.support.ChannelInterceptor}.
*
* @author Spencer Gibb
* @since 1.0.0
@@ -46,7 +47,8 @@ import org.springframework.messaging.support.MessageBuilder;
@Configuration
@ConditionalOnClass(GlobalChannelInterceptor.class)
@ConditionalOnBean(Tracer.class)
-@AutoConfigureAfter({TraceAutoConfiguration.class, TraceSpanMessagingAutoConfiguration.class})
+@AutoConfigureAfter({ TraceAutoConfiguration.class,
+ TraceSpanMessagingAutoConfiguration.class })
@ConditionalOnProperty(value = "spring.sleuth.integration.enabled", matchIfMissing = true)
@EnableConfigurationProperties(TraceKeys.class)
public class TraceSpringIntegrationAutoConfiguration {
@@ -54,10 +56,10 @@ public class TraceSpringIntegrationAutoConfiguration {
@Bean
@GlobalChannelInterceptor
public TraceChannelInterceptor traceChannelInterceptor(Tracer tracer,
- TraceKeys traceKeys, Random random,
- SpanExtractor spanExtractor,
- SpanInjector spanInjector) {
- return new TraceChannelInterceptor(tracer, traceKeys, spanExtractor, spanInjector);
+ TraceKeys traceKeys, Random random, SpanExtractor> spanExtractor,
+ SpanInjector> spanInjector) {
+ return new TraceChannelInterceptor(tracer, traceKeys, spanExtractor,
+ spanInjector);
}
}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
index a806f0b8b..17f4927a2 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/websocket/TraceWebSocketAutoConfiguration.java
@@ -21,8 +21,8 @@ import org.springframework.web.socket.config.annotation.DelegatingWebSocketMessa
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
/**
- * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration Auto-configuration}
- * that enables tracing for WebSockets.
+ * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration
+ * Auto-configuration} that enables tracing for WebSockets.
*
* @author Dave Syer
* @since 1.0.0
@@ -38,10 +38,14 @@ import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
public class TraceWebSocketAutoConfiguration
extends AbstractWebSocketMessageBrokerConfigurer {
- @Autowired Tracer tracer;
- @Autowired TraceKeys traceKeys;
- @Autowired SpanExtractor spanExtractor;
- @Autowired SpanInjector spanInjector;
+ @Autowired
+ Tracer tracer;
+ @Autowired
+ TraceKeys traceKeys;
+ @Autowired
+ SpanExtractor> spanExtractor;
+ @Autowired
+ SpanInjector> spanInjector;
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
@@ -50,13 +54,13 @@ public class TraceWebSocketAutoConfiguration
@Override
public void configureClientOutboundChannel(ChannelRegistration registration) {
- registration.setInterceptors(
- new TraceChannelInterceptor(this.tracer, this.traceKeys, this.spanExtractor, this.spanInjector));
+ registration.setInterceptors(new TraceChannelInterceptor(this.tracer,
+ this.traceKeys, this.spanExtractor, this.spanInjector));
}
@Override
public void configureClientInboundChannel(ChannelRegistration registration) {
- registration.setInterceptors(
- new TraceChannelInterceptor(this.tracer, this.traceKeys, this.spanExtractor, this.spanInjector));
+ registration.setInterceptors(new TraceChannelInterceptor(this.tracer,
+ this.traceKeys, this.spanExtractor, this.spanInjector));
}
}
\ No newline at end of file
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorServiceTest.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorServiceTest.java
index ff9bc9aea..8d0d4017a 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorServiceTest.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorServiceTest.java
@@ -16,6 +16,11 @@
package org.springframework.cloud.sleuth.instrument.async;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.mockito.BDDMockito.then;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyLong;
+
import java.util.concurrent.Callable;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -30,61 +35,73 @@ import org.springframework.cloud.sleuth.SpanNamer;
import org.springframework.cloud.sleuth.TraceKeys;
import org.springframework.cloud.sleuth.Tracer;
-import static org.hamcrest.Matchers.instanceOf;
-import static org.mockito.BDDMockito.then;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
-
/**
* @author Marcin Grzejszczak
*/
@RunWith(MockitoJUnitRunner.class)
public class TraceableScheduledExecutorServiceTest {
- @Mock Tracer tracer;
- @Mock TraceKeys traceKeys;
- @Mock SpanNamer spanNamer;
- @Mock ScheduledExecutorService scheduledExecutorService;
- @InjectMocks TraceableScheduledExecutorService traceableScheduledExecutorService;
+ @Mock
+ Tracer tracer;
+ @Mock
+ TraceKeys traceKeys;
+ @Mock
+ SpanNamer spanNamer;
+ @Mock
+ ScheduledExecutorService scheduledExecutorService;
+ @InjectMocks
+ TraceableScheduledExecutorService traceableScheduledExecutorService;
@Test
public void should_schedule_a_local_component_trace_runnable() throws Exception {
this.traceableScheduledExecutorService.schedule(aRunnable(), 1L, TimeUnit.DAYS);
- then(this.scheduledExecutorService).should().schedule(BDDMockito.argThat(
- instanceOf(LocalComponentTraceRunnable.class)), anyLong(), any(TimeUnit.class));
+ then(this.scheduledExecutorService).should().schedule(
+ BDDMockito
+ .argThat(instanceOf(LocalComponentTraceRunnable.class)),
+ anyLong(), any(TimeUnit.class));
}
@Test
- @SuppressWarnings("unchecked")
public void should_schedule_a_local_component_trace_callable() throws Exception {
this.traceableScheduledExecutorService.schedule(aCallable(), 1L, TimeUnit.DAYS);
- then(this.scheduledExecutorService).should().schedule(BDDMockito.argThat(
- instanceOf(LocalComponentTraceCallable.class)), anyLong(), any(TimeUnit.class));
+ then(this.scheduledExecutorService).should().schedule(
+ BDDMockito.>argThat(
+ instanceOf(LocalComponentTraceCallable.class)),
+ anyLong(), any(TimeUnit.class));
}
@Test
- public void should_schedule_at_fixed_rate_a_local_component_trace_runnable() throws Exception {
- this.traceableScheduledExecutorService.scheduleAtFixedRate(aRunnable(), 1L, 1L, TimeUnit.DAYS);
+ public void should_schedule_at_fixed_rate_a_local_component_trace_runnable()
+ throws Exception {
+ this.traceableScheduledExecutorService.scheduleAtFixedRate(aRunnable(), 1L, 1L,
+ TimeUnit.DAYS);
- then(this.scheduledExecutorService).should().scheduleAtFixedRate(BDDMockito.argThat(
- instanceOf(LocalComponentTraceRunnable.class)), anyLong(), anyLong(), any(TimeUnit.class));
+ then(this.scheduledExecutorService).should().scheduleAtFixedRate(
+ BDDMockito
+ .argThat(instanceOf(LocalComponentTraceRunnable.class)),
+ anyLong(), anyLong(), any(TimeUnit.class));
}
@Test
- public void should_schedule_with_fixed_delay_a_local_component_trace_runnable() throws Exception {
- this.traceableScheduledExecutorService.scheduleWithFixedDelay(aRunnable(), 1L, 1L, TimeUnit.DAYS);
+ public void should_schedule_with_fixed_delay_a_local_component_trace_runnable()
+ throws Exception {
+ this.traceableScheduledExecutorService.scheduleWithFixedDelay(aRunnable(), 1L, 1L,
+ TimeUnit.DAYS);
- then(this.scheduledExecutorService).should().scheduleWithFixedDelay(BDDMockito.argThat(
- instanceOf(LocalComponentTraceRunnable.class)), anyLong(), anyLong(), any(TimeUnit.class));
+ then(this.scheduledExecutorService).should().scheduleWithFixedDelay(
+ BDDMockito
+ .argThat(instanceOf(LocalComponentTraceRunnable.class)),
+ anyLong(), anyLong(), any(TimeUnit.class));
}
Runnable aRunnable() {
- return () -> {};
+ return () -> {
+ };
}
- Callable aCallable() {
+ Callable> aCallable() {
return () -> null;
}
}
\ No newline at end of file
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjectorTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjectorTests.java
index e5bd46b68..1be79222a 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjectorTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanInjectorTests.java
@@ -16,6 +16,9 @@
package org.springframework.cloud.sleuth.instrument.messaging;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.assertThat;
+
import org.junit.Test;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.TraceKeys;
@@ -26,8 +29,6 @@ import org.springframework.messaging.support.MessageBuilder;
import org.springframework.messaging.support.MessageHeaderAccessor;
import org.springframework.messaging.support.NativeMessageHeaderAccessor;
-import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.assertThat;
-
/**
* @author Dave Syer
*
@@ -35,7 +36,8 @@ import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.asser
public class MessagingSpanInjectorTests {
private TraceKeys traceKeys = new TraceKeys();
- private MessagingSpanInjector messagingSpanInjector = new MessagingSpanInjector(this.traceKeys);
+ private MessagingSpanInjector messagingSpanInjector = new MessagingSpanInjector(
+ this.traceKeys);
@Test
public void spanHeadersAdded() {
@@ -51,12 +53,12 @@ public class MessagingSpanInjectorTests {
@Test
public void shouldNotOverrideSpanTags() {
Span span = spanWithStringPayloadType();
- MessageBuilder messageBuilder = messageWithIntegerPayloadType();
+ MessageBuilder> messageBuilder = messageWithIntegerPayloadType();
this.messagingSpanInjector.inject(span, messageBuilder);
- assertThat(messageBuilder.build().getHeaders())
- .containsKeys(Span.SPAN_ID_NAME, "message/payload-type");
+ assertThat(messageBuilder.build().getHeaders()).containsKeys(Span.SPAN_ID_NAME,
+ "message/payload-type");
assertThat(span).hasATag("message/payload-type", "java.lang.String");
}
@@ -66,7 +68,7 @@ public class MessagingSpanInjectorTests {
return span;
}
- private MessageBuilder messageWithIntegerPayloadType() {
+ private MessageBuilder> messageWithIntegerPayloadType() {
MessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create();
accessor.setHeader("message/payload-type", "java.lang.Integer");
return MessageBuilder.withPayload("Hello World").setHeaders(accessor);
@@ -76,8 +78,10 @@ public class MessagingSpanInjectorTests {
public void nativeSpanHeadersAdded() {
Span span = Span.builder().name("http:foo").spanId(1L).traceId(2L).build();
MessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create();
- Message messageToBuild = MessageBuilder.createMessage("Hello World", accessor.getMessageHeaders());
- MessageBuilder messageBuilder = MessageBuilder.fromMessage(messageToBuild);
+ Message messageToBuild = MessageBuilder.createMessage("Hello World",
+ accessor.getMessageHeaders());
+ MessageBuilder messageBuilder = MessageBuilder
+ .fromMessage(messageToBuild);
this.messagingSpanInjector.inject(span, messageBuilder);
diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterCustomExtractorTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterCustomExtractorTests.java
index 05684bcb1..554e2622f 100644
--- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterCustomExtractorTests.java
+++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/TraceFilterCustomExtractorTests.java
@@ -16,6 +16,9 @@
package org.springframework.cloud.sleuth.instrument.web;
+import static org.assertj.core.api.BDDAssertions.then;
+import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then;
+
import java.net.URI;
import java.util.Collections;
import java.util.HashMap;
@@ -49,47 +52,48 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
-import static org.springframework.cloud.sleuth.assertions.SleuthAssertions.then;
-
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(TraceFilterCustomExtractorTests.Config.class)
@WebIntegrationTest(randomPort = true)
-public class TraceFilterCustomExtractorTests {
- @Autowired Random random;
- @Autowired RestTemplate restTemplate;
- @Autowired Config config;
- @Autowired CustomRestController customRestController;
+public class TraceFilterCustomExtractorTests {
+ @Autowired
+ Random random;
+ @Autowired
+ RestTemplate restTemplate;
+ @Autowired
+ Config config;
+ @Autowired
+ CustomRestController customRestController;
@Test
@SuppressWarnings("unchecked")
public void should_create_a_valid_span_from_custom_headers() {
long spanId = this.random.nextLong();
long traceId = this.random.nextLong();
- RequestEntity requestEntity = RequestEntity.get(
- URI.create("http://localhost:" + this.config.port + "/headers"))
+ RequestEntity> requestEntity = RequestEntity
+ .get(URI.create("http://localhost:" + this.config.port + "/headers"))
.header("correlationId", Span.idToHex(traceId))
- .header("mySpanId", Span.idToHex(spanId))
- .build();
+ .header("mySpanId", Span.idToHex(spanId)).build();
- ResponseEntity