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

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


The following commit(s) were added to refs/heads/main by this push:
     new 30f532abcf4 CAMEL-17512: camel-tracing - Messaging span decorators 
should resolve destination when using toD
30f532abcf4 is described below

commit 30f532abcf4117b14a5fc2fb0a81bf4baacd9107
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed May 11 07:35:52 2022 +0200

    CAMEL-17512: camel-tracing - Messaging span decorators should resolve 
destination when using toD
---
 .../camel/tracing/decorators/AmqpSpanDecorator.java   | 13 +++++++++++++
 .../camel/tracing/decorators/PahoSpanDecorator.java   | 13 +++++++++++++
 .../tracing/decorators/RabbitmqSpanDecorator.java     | 13 +++++++++++++
 .../camel/tracing/decorators/Sjms2SpanDecorator.java  | 13 +++++++++++++
 .../camel/tracing/decorators/SjmsSpanDecorator.java   | 13 +++++++++++++
 ...ecorator.java => SpringRabbitmqSpanDecorator.java} | 19 ++++++++++++++++---
 6 files changed, 81 insertions(+), 3 deletions(-)

diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AmqpSpanDecorator.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AmqpSpanDecorator.java
index 1b8bd0f6886..3b776baec7d 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AmqpSpanDecorator.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AmqpSpanDecorator.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.tracing.decorators;
 
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+
 public class AmqpSpanDecorator extends AbstractMessagingSpanDecorator {
 
     @Override
@@ -23,6 +26,16 @@ public class AmqpSpanDecorator extends 
AbstractMessagingSpanDecorator {
         return "amqp";
     }
 
+    @Override
+    protected String getDestination(Exchange exchange, Endpoint endpoint) {
+        // when using toD for dynamic destination then extract from header
+        String destination = 
exchange.getMessage().getHeader("CamelJmsDestinationName", String.class);
+        if (destination == null) {
+            destination = super.getDestination(exchange, endpoint);
+        }
+        return destination;
+    }
+
     @Override
     public String getComponentClassName() {
         return "org.apache.camel.component.amqp.AMQPComponent";
diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/PahoSpanDecorator.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/PahoSpanDecorator.java
index c215529effb..ec28baa1f56 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/PahoSpanDecorator.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/PahoSpanDecorator.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.tracing.decorators;
 
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+
 public class PahoSpanDecorator extends AbstractMessagingSpanDecorator {
 
     @Override
@@ -23,6 +26,16 @@ public class PahoSpanDecorator extends 
AbstractMessagingSpanDecorator {
         return "paho";
     }
 
+    @Override
+    protected String getDestination(Exchange exchange, Endpoint endpoint) {
+        // when using toD for dynamic destination then extract from header
+        String destination = 
exchange.getMessage().getHeader("CamelPahoOverrideTopic", String.class);
+        if (destination == null) {
+            destination = super.getDestination(exchange, endpoint);
+        }
+        return destination;
+    }
+
     @Override
     public String getComponentClassName() {
         return "org.apache.camel.component.paho.PahoComponent";
diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RabbitmqSpanDecorator.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RabbitmqSpanDecorator.java
index 922960837b4..ca1c79b6fe4 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RabbitmqSpanDecorator.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/RabbitmqSpanDecorator.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.tracing.decorators;
 
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+
 public class RabbitmqSpanDecorator extends AbstractMessagingSpanDecorator {
 
     @Override
@@ -23,6 +26,16 @@ public class RabbitmqSpanDecorator extends 
AbstractMessagingSpanDecorator {
         return "rabbitmq";
     }
 
+    @Override
+    protected String getDestination(Exchange exchange, Endpoint endpoint) {
+        // when using toD for dynamic destination then extract from header
+        String destination = 
exchange.getMessage().getHeader("CamelRabbitmqExchangeOverrideName", 
String.class);
+        if (destination == null) {
+            destination = super.getDestination(exchange, endpoint);
+        }
+        return destination;
+    }
+
     @Override
     public String getComponentClassName() {
         return "org.apache.camel.component.rabbitmq.RabbitMQComponent";
diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/Sjms2SpanDecorator.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/Sjms2SpanDecorator.java
index 90dc95434dd..7477a769d36 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/Sjms2SpanDecorator.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/Sjms2SpanDecorator.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.tracing.decorators;
 
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+
 public class Sjms2SpanDecorator extends AbstractMessagingSpanDecorator {
 
     @Override
@@ -23,6 +26,16 @@ public class Sjms2SpanDecorator extends 
AbstractMessagingSpanDecorator {
         return "sjms2";
     }
 
+    @Override
+    protected String getDestination(Exchange exchange, Endpoint endpoint) {
+        // when using toD for dynamic destination then extract from header
+        String destination = 
exchange.getMessage().getHeader("CamelJMSDestinationName", String.class);
+        if (destination == null) {
+            destination = super.getDestination(exchange, endpoint);
+        }
+        return destination;
+    }
+
     @Override
     public String getComponentClassName() {
         return "org.apache.camel.component.sjms2.Sjms2Component";
diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/SjmsSpanDecorator.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/SjmsSpanDecorator.java
index 3b64dddaec3..90d777e5a13 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/SjmsSpanDecorator.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/SjmsSpanDecorator.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.tracing.decorators;
 
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+
 public class SjmsSpanDecorator extends AbstractMessagingSpanDecorator {
 
     @Override
@@ -23,6 +26,16 @@ public class SjmsSpanDecorator extends 
AbstractMessagingSpanDecorator {
         return "sjms";
     }
 
+    @Override
+    protected String getDestination(Exchange exchange, Endpoint endpoint) {
+        // when using toD for dynamic destination then extract from header
+        String destination = 
exchange.getMessage().getHeader("CamelJMSDestinationName", String.class);
+        if (destination == null) {
+            destination = super.getDestination(exchange, endpoint);
+        }
+        return destination;
+    }
+
     @Override
     public String getComponentClassName() {
         return "org.apache.camel.component.sjms.SjmsComponent";
diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AmqpSpanDecorator.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/SpringRabbitmqSpanDecorator.java
similarity index 58%
copy from 
components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AmqpSpanDecorator.java
copy to 
components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/SpringRabbitmqSpanDecorator.java
index 1b8bd0f6886..8cce52654fc 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AmqpSpanDecorator.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/SpringRabbitmqSpanDecorator.java
@@ -16,16 +16,29 @@
  */
 package org.apache.camel.tracing.decorators;
 
-public class AmqpSpanDecorator extends AbstractMessagingSpanDecorator {
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+
+public class SpringRabbitmqSpanDecorator extends 
AbstractMessagingSpanDecorator {
 
     @Override
     public String getComponent() {
-        return "amqp";
+        return "spring-rabbitmq";
+    }
+
+    @Override
+    protected String getDestination(Exchange exchange, Endpoint endpoint) {
+        // when using toD for dynamic destination then extract from header
+        String destination = 
exchange.getMessage().getHeader("CamelSpringRabbitmqExchangeOverrideName", 
String.class);
+        if (destination == null) {
+            destination = super.getDestination(exchange, endpoint);
+        }
+        return destination;
     }
 
     @Override
     public String getComponentClassName() {
-        return "org.apache.camel.component.amqp.AMQPComponent";
+        return 
"org.apache.camel.component.springrabbitmq.SpringRabbitMQComponent";
     }
 
 }

Reply via email to