Refactored Stomp Propagation Channel tests

This commit is contained in:
Marcin Grzejszczak
2016-01-04 15:54:47 +01:00
parent 04ea3c6b79
commit 7ed53116fd
6 changed files with 121 additions and 139 deletions

View File

@@ -16,10 +16,6 @@
package org.springframework.cloud.sleuth.instrument.integration;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.Trace;
import org.springframework.cloud.sleuth.trace.TraceContextHolder;
@@ -27,6 +23,10 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
import org.springframework.messaging.simp.SimpMessageType;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
/**
* Builder class to create STOMP message
*
@@ -77,16 +77,13 @@ public class StompMessageBuilder {
public Message<?> build() {
SimpMessageHeaderAccessor headerAccessor = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE);
String key;
Object value;
for (Map.Entry<String, Object> entry : this.headers.entrySet()) {
key = entry.getKey();
String key = entry.getKey();
if (key != null) {
value = entry.getValue();
Object value = entry.getValue();
pushHeaders(headerAccessor, key, value);
}
}
return org.springframework.messaging.support.MessageBuilder.createMessage(this.message.getPayload(),
headerAccessor.getMessageHeaders());
}

View File

@@ -16,8 +16,6 @@
package org.springframework.cloud.sleuth.instrument.integration;
import java.util.Map;
import org.springframework.aop.support.AopUtils;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.Trace;
@@ -31,6 +29,8 @@ import org.springframework.messaging.support.ChannelInterceptorAdapter;
import org.springframework.messaging.support.ExecutorChannelInterceptor;
import org.springframework.util.Assert;
import java.util.Map;
/**
*
* @author Gaurav Rai Mazra
@@ -51,9 +51,7 @@ public class TraceStompMessageContextPropagationChannelInterceptor extends Chann
if (DirectChannel.class.isAssignableFrom(AopUtils.getTargetClass(channel))) {
return message;
}
Span span = this.traceManager.getCurrentSpan();
if (span != null) {
return new MessageWithSpan(message, span);
} else {
@@ -66,7 +64,7 @@ public class TraceStompMessageContextPropagationChannelInterceptor extends Chann
if (message instanceof MessageWithSpan) {
MessageWithSpan messageWithSpan = (MessageWithSpan) message;
Message<?> messageToHandle = messageWithSpan.message;
populatePropagatedContext(messageWithSpan.span, messageToHandle, channel);
populatePropagatedContext(messageWithSpan.span);
return message;
}
@@ -83,7 +81,7 @@ public class TraceStompMessageContextPropagationChannelInterceptor extends Chann
return postReceive(message, channel);
}
protected void populatePropagatedContext(Span span, Message<?> message, MessageChannel channel) {
protected void populatePropagatedContext(Span span) {
if (span != null) {
ORIGINAL_CONTEXT.set(this.traceManager.continueSpan(span).getSavedTrace());
}
@@ -116,11 +114,9 @@ public class TraceStompMessageContextPropagationChannelInterceptor extends Chann
span.addAnnotation(key, value);
}
}
Object payload = message.getPayload();
if (payload != null) {
span.addAnnotation("/messaging/payload/type", payload.getClass().getCanonicalName());
if (payload instanceof String) {
span.addAnnotation("/messaging/payload/size", String.valueOf(((String) payload).length()));
} else if (payload instanceof byte[]) {