From 6e2ddb11f069a1919dcaad15a397d4caf4313ee8 Mon Sep 17 00:00:00 2001 From: Andrea Marziali Date: Fri, 19 Dec 2025 12:42:43 +0100 Subject: [PATCH] Do not break the JMS instrumentation when unable to access a property --- .../instrumentation/jms/MessageExtractAdapter.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/jms/javax-jms-1.1/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java b/dd-java-agent/instrumentation/jms/javax-jms-1.1/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java index 66711c1cb2f..6d233e3c276 100644 --- a/dd-java-agent/instrumentation/jms/javax-jms-1.1/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java +++ b/dd-java-agent/instrumentation/jms/javax-jms-1.1/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java @@ -38,7 +38,15 @@ public void forEachKey(Message carrier, AgentPropagation.KeyClassifier classifie while (enumeration.hasMoreElements()) { String key = ((String) enumeration.nextElement()); String lowerCaseKey = cache.computeIfAbsent(key, KEY_MAPPER); - Object value = carrier.getObjectProperty(key); + Object value = null; + try { + value = carrier.getObjectProperty(key); + } catch (Throwable t) { + // log and ignore if we cannot access this property but don't break the instrumentation + if (log.isDebugEnabled()) { + log.debug("Error accessing message property {}", key, t); + } + } if (value instanceof String && !classifier.accept(lowerCaseKey, (String) value)) { return; }