diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java index 2d68f8f469..b77f1a20fc 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageConsumerInstrumentation.java @@ -5,7 +5,7 @@ import static datadog.trace.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.instrumentation.api.AgentTracer.propagate; import static datadog.trace.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jms.JMSDecorator.CONSUMER_DECORATE; -import static datadog.trace.instrumentation.jms.MessagePropertyTextMap.GETTER; +import static datadog.trace.instrumentation.jms.MessageExtractAdapter.GETTER; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -48,7 +48,8 @@ public final class JMSMessageConsumerInstrumentation extends Instrumenter.Defaul packageName + ".JMSDecorator", packageName + ".JMSDecorator$1", packageName + ".JMSDecorator$2", - packageName + ".MessagePropertyTextMap", + packageName + ".MessageExtractAdapter", + packageName + ".MessageInjectAdapter" }; } diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java index 16ef028823..18452c5876 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageListenerInstrumentation.java @@ -5,7 +5,7 @@ import static datadog.trace.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.instrumentation.api.AgentTracer.propagate; import static datadog.trace.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jms.JMSDecorator.CONSUMER_DECORATE; -import static datadog.trace.instrumentation.jms.MessagePropertyTextMap.GETTER; +import static datadog.trace.instrumentation.jms.MessageExtractAdapter.GETTER; import static java.util.Collections.singletonMap; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; @@ -46,7 +46,8 @@ public final class JMSMessageListenerInstrumentation extends Instrumenter.Defaul packageName + ".JMSDecorator", packageName + ".JMSDecorator$1", packageName + ".JMSDecorator$2", - packageName + ".MessagePropertyTextMap", + packageName + ".MessageExtractAdapter", + packageName + ".MessageInjectAdapter" }; } diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java index 52aa98046a..dabe1dc1e8 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/JMSMessageProducerInstrumentation.java @@ -5,7 +5,7 @@ import static datadog.trace.instrumentation.api.AgentTracer.activateSpan; import static datadog.trace.instrumentation.api.AgentTracer.propagate; import static datadog.trace.instrumentation.api.AgentTracer.startSpan; import static datadog.trace.instrumentation.jms.JMSDecorator.PRODUCER_DECORATE; -import static datadog.trace.instrumentation.jms.MessagePropertyTextMap.SETTER; +import static datadog.trace.instrumentation.jms.MessageInjectAdapter.SETTER; import static net.bytebuddy.matcher.ElementMatchers.isInterface; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -48,7 +48,8 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul packageName + ".JMSDecorator", packageName + ".JMSDecorator$1", packageName + ".JMSDecorator$2", - packageName + ".MessagePropertyTextMap", + packageName + ".MessageExtractAdapter", + packageName + ".MessageInjectAdapter" }; } diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessagePropertyTextMap.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java similarity index 60% rename from dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessagePropertyTextMap.java rename to dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java index 926863a6b1..b988204a45 100644 --- a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessagePropertyTextMap.java +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java @@ -9,13 +9,9 @@ import javax.jms.Message; import lombok.extern.slf4j.Slf4j; @Slf4j -public class MessagePropertyTextMap - implements AgentPropagation.Getter, AgentPropagation.Setter { +public class MessageExtractAdapter implements AgentPropagation.Getter { - public static final MessagePropertyTextMap GETTER = new MessagePropertyTextMap(); - public static final MessagePropertyTextMap SETTER = new MessagePropertyTextMap(); - - static final String DASH = "__dash__"; + public static final MessageExtractAdapter GETTER = new MessageExtractAdapter(); @Override public Iterable keys(final Message carrier) { @@ -27,7 +23,7 @@ public class MessagePropertyTextMap final String key = (String) enumeration.nextElement(); final Object value = carrier.getObjectProperty(key); if (value instanceof String) { - keys.add(key.replace(DASH, "-")); + keys.add(key.replace(MessageInjectAdapter.DASH, "-")); } } } @@ -39,7 +35,7 @@ public class MessagePropertyTextMap @Override public String get(final Message carrier, final String key) { - final String propName = key.replace("-", DASH); + final String propName = key.replace("-", MessageInjectAdapter.DASH); final Object value; try { value = carrier.getObjectProperty(propName); @@ -52,16 +48,4 @@ public class MessagePropertyTextMap return null; } } - - @Override - public void set(final Message carrier, final String key, final String value) { - final String propName = key.replace("-", DASH); - try { - carrier.setStringProperty(propName, value); - } catch (final JMSException e) { - if (log.isDebugEnabled()) { - log.debug("Failure setting jms property: " + propName, e); - } - } - } } diff --git a/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessageInjectAdapter.java b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessageInjectAdapter.java new file mode 100644 index 0000000000..428fea1c55 --- /dev/null +++ b/dd-java-agent/instrumentation/jms/src/main/java/datadog/trace/instrumentation/jms/MessageInjectAdapter.java @@ -0,0 +1,26 @@ +package datadog.trace.instrumentation.jms; + +import datadog.trace.instrumentation.api.AgentPropagation; +import javax.jms.JMSException; +import javax.jms.Message; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class MessageInjectAdapter implements AgentPropagation.Setter { + + public static final MessageInjectAdapter SETTER = new MessageInjectAdapter(); + + static final String DASH = "__dash__"; + + @Override + public void set(final Message carrier, final String key, final String value) { + final String propName = key.replace("-", DASH); + try { + carrier.setStringProperty(propName, value); + } catch (final JMSException e) { + if (log.isDebugEnabled()) { + log.debug("Failure setting jms property: " + propName, e); + } + } + } +}