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

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


The following commit(s) were added to refs/heads/camel-3.11.x by this push:
     new d5b63bd  CAMEL-16763: Fixes JMS Correlation ID bug in camel-sjms 
(#5766)
d5b63bd is described below

commit d5b63bd29110da0d7d22d2b0007853954bf3bba8
Author: Shannon Gallagher <[email protected]>
AuthorDate: Wed Jun 30 07:58:36 2021 -0700

    CAMEL-16763: Fixes JMS Correlation ID bug in camel-sjms (#5766)
    
    * Use getJMSCorrelationID instead of ...AsBytes
    
    When determining JMS correlation ID, use getJMSCorrelationId instead of 
getJMSCorrelationIDAsBytes
    
    * Update ReplyManagerSupport
    
    Replace getJMSCorrelationIDAsBytes with getJMSCorrelationID in 
ReplyManagerSupport.onMessage
---
 .../org/apache/camel/component/sjms/SjmsProducer.java    |  2 +-
 .../camel/component/sjms/jms/JmsMessageHelper.java       | 16 ++++++++++++++++
 .../camel/component/sjms/reply/ReplyManagerSupport.java  |  4 ++--
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
index 27c8af6..a7676e4 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsProducer.java
@@ -490,7 +490,7 @@ public class SjmsProducer extends DefaultAsyncProducer {
      * @throws JMSException can be thrown
      */
     protected String determineCorrelationId(Message message) throws 
JMSException {
-        String cid = getJMSCorrelationIDAsBytes(message);
+        String cid = getJMSCorrelationID(message);
         if (ObjectHelper.isEmpty(cid)) {
             cid = getJMSMessageID(message);
         }
diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
index 0871be7..fc15e96 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
@@ -385,6 +385,22 @@ public final class JmsMessageHelper {
     }
 
     /**
+     * Gets the JMSCorrelationID from the message.
+     *
+     * @param  message the message
+     * @return         the JMSCorrelationID, or <tt>null</tt> if not able to 
get
+     */
+    public static String getJMSCorrelationID(Message message) {
+        try {
+            return message.getJMSCorrelationID();
+        } catch (JMSException e) {
+            // ignore
+        }
+
+        return null;
+    }
+
+    /**
      * Gets the JMSCorrelationIDAsBytes from the message.
      *
      * @param  message the message
diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/ReplyManagerSupport.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/ReplyManagerSupport.java
index b1342e3..da1c067 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/ReplyManagerSupport.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/reply/ReplyManagerSupport.java
@@ -41,7 +41,7 @@ import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static 
org.apache.camel.component.sjms.jms.JmsMessageHelper.getJMSCorrelationIDAsBytes;
+import static 
org.apache.camel.component.sjms.jms.JmsMessageHelper.getJMSCorrelationID;
 
 /**
  * Base class for {@link ReplyManager} implementations.
@@ -127,7 +127,7 @@ public abstract class ReplyManagerSupport extends 
ServiceSupport implements Repl
 
     @Override
     public void onMessage(Message message, Session session) throws 
JMSException {
-        String correlationID = getJMSCorrelationIDAsBytes(message);
+        String correlationID = getJMSCorrelationID(message);
 
         if (correlationID == null) {
             log.warn("Ignoring message with no correlationID: {}", message);

Reply via email to