Skip to content

Commit 6e2ddb1

Browse files
committed
Do not break the JMS instrumentation when unable to access a property
1 parent fbdb1cf commit 6e2ddb1

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

dd-java-agent/instrumentation/jms/javax-jms-1.1/src/main/java/datadog/trace/instrumentation/jms/MessageExtractAdapter.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,15 @@ public void forEachKey(Message carrier, AgentPropagation.KeyClassifier classifie
3838
while (enumeration.hasMoreElements()) {
3939
String key = ((String) enumeration.nextElement());
4040
String lowerCaseKey = cache.computeIfAbsent(key, KEY_MAPPER);
41-
Object value = carrier.getObjectProperty(key);
41+
Object value = null;
42+
try {
43+
value = carrier.getObjectProperty(key);
44+
} catch (Throwable t) {
45+
// log and ignore if we cannot access this property but don't break the instrumentation
46+
if (log.isDebugEnabled()) {
47+
log.debug("Error accessing message property {}", key, t);
48+
}
49+
}
4250
if (value instanceof String && !classifier.accept(lowerCaseKey, (String) value)) {
4351
return;
4452
}

0 commit comments

Comments
 (0)