Skip to content

Commit daa80d9

Browse files
committed
Avoid NPE when inspecting spring messaging headers
1 parent fbdb1cf commit daa80d9

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

dd-java-agent/instrumentation/spring/spring-messaging-4.0/src/main/java/datadog/trace/instrumentation/springmessaging/SpringMessageExtractAdapter.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.Map;
1111
import java.util.function.Function;
1212
import org.springframework.messaging.Message;
13+
import org.springframework.messaging.MessageHeaders;
1314

1415
public final class SpringMessageExtractAdapter
1516
implements AgentPropagation.ContextVisitor<Message<?>> {
@@ -33,7 +34,12 @@ public String apply(String key) {
3334

3435
@Override
3536
public void forEachKey(Message<?> carrier, AgentPropagation.KeyClassifier classifier) {
36-
for (Map.Entry<String, ?> header : carrier.getHeaders().entrySet()) {
37+
final MessageHeaders messageHeaders = carrier.getHeaders();
38+
if (messageHeaders == null || messageHeaders.isEmpty()) {
39+
return;
40+
}
41+
42+
for (Map.Entry<String, ?> header : messageHeaders.entrySet()) {
3743
Object headerValue = header.getValue();
3844
if ("_datadog".equals(header.getKey())) {
3945
if (headerValue instanceof String) {

0 commit comments

Comments
 (0)