This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 9cbf57524457df8f558f68280dd5df93a1f941b9
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Thu Sep 25 09:10:56 2025 +0200

    feat(components): mdc all headers/properties
---
 .../main/java/org/apache/camel/mdc/MDCService.java | 37 +++++++++++++++++++---
 1 file changed, 33 insertions(+), 4 deletions(-)

diff --git 
a/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java 
b/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
index eaf890f93cf..bd38d6a9a16 100644
--- a/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
+++ b/components/camel-mdc/src/main/java/org/apache/camel/mdc/MDCService.java
@@ -93,6 +93,12 @@ public class MDCService extends ServiceSupport implements 
CamelMDCService {
         camelContext.getCamelContextExtension().addLogListener(new 
TracingLogListener());
     }
 
+    @Override
+    protected void doStart() throws Exception {
+        super.doStart();
+        LOG.info("Mapped Diagnostic Context (MDC) enabled");
+    }
+
     private final class TracingLogListener implements LogListener {
 
         @Override
@@ -101,12 +107,18 @@ public class MDCService extends ServiceSupport implements 
CamelMDCService {
                 // Default values
                 prepareMDC(exchange);
                 if (getCustomHeaders() != null) {
-                    // User headers values
-                    userSelectedHeadersMDC(exchange);
+                    if (getCustomHeaders().equals("*")){
+                        allHeadersMDC(exchange);
+                    } else {
+                        userSelectedHeadersMDC(exchange);
+                    }
                 }
                 if (getCustomProperties() != null) {
-                    // User headers values
-                    userSelectedPropertiesMDC(exchange);
+                    if (getCustomProperties().equals("*")){
+                        allPropertiesMDC(exchange);
+                    } else {
+                        userSelectedPropertiesMDC(exchange);
+                    }
                 }
             } catch (Exception t) {
                 // This exception is ignored
@@ -149,6 +161,14 @@ public class MDCService extends ServiceSupport implements 
CamelMDCService {
                 }
             }
         }
+        // Include all available headers
+        private void allHeadersMDC(Exchange exchange) {
+            for (String header : exchange.getIn().getHeaders().keySet()) {
+                if (exchange.getIn().getHeader(header) != null) {
+                    MDC.put(header, exchange.getIn().getHeader(header, 
String.class));
+                }
+            }
+        }
 
         // Include those properties selected by the user
         private void userSelectedPropertiesMDC(Exchange exchange) {
@@ -158,6 +178,15 @@ public class MDCService extends ServiceSupport implements 
CamelMDCService {
                 }
             }
         }
+
+        // Include all available properties
+        private void allPropertiesMDC(Exchange exchange) {
+            for (String property : exchange.getAllProperties().keySet()) {
+                if (exchange.getProperty(property) != null) {
+                    MDC.put(property, exchange.getProperty(property, 
String.class));
+                }
+            }
+        }
     }
 
 }

Reply via email to