From 48227e779367c7e6a0fcc656bd285e110518c437 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Fri, 4 Aug 2017 11:52:31 +0200 Subject: [PATCH] Returns proper message; fixes #669 --- .../sleuth/instrument/messaging/TraceChannelInterceptor.java | 2 +- .../instrument/messaging/TraceChannelInterceptorTests.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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 c5bb2393e..d28b8636b 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 @@ -91,7 +91,7 @@ public class TraceChannelInterceptor extends AbstractTraceChannelInterceptor { getSpanInjector().inject(span, new MessagingTextMap(messageBuilder)); MessageHeaderAccessor headers = MessageHeaderAccessor.getMutableAccessor(message); headers.copyHeaders(messageBuilder.build().getHeaders()); - return new GenericMessage<>(retrievedMessage.getPayload(), headers.getMessageHeaders()); + return new GenericMessage<>(message.getPayload(), headers.getMessageHeaders()); } private Message getMessage(Message message) { diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java index 095f23d08..4484b7618 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java @@ -333,13 +333,14 @@ public class TraceChannelInterceptorTests implements MessageHandler { this.tracedChannel.send(message); String spanId = this.message.getHeaders().get(TraceMessageHeaders.SPAN_ID_NAME, String.class); + then(message.getPayload()).isEqualTo(this.message.getPayload()); then(spanId).isNotNull(); long traceId = Span .hexToId(this.message.getHeaders().get(TraceMessageHeaders.TRACE_ID_NAME, String.class)); then(traceId).isEqualTo(10L); then(spanId).isNotEqualTo(20L); then(this.accumulator.getSpans()).hasSize(1); - } + } @Configuration @EnableAutoConfiguration