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

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


The following commit(s) were added to refs/heads/camel-2.x by this push:
     new b1b3158  [CAMEL-14156] Avoid NPE with endpoint is null in JmsBinding 
(#3328)
b1b3158 is described below

commit b1b3158c3dfed8e40403fd81b11bb56dce5ad79f
Author: Jean-Baptiste Onofré <jbono...@apache.org>
AuthorDate: Fri Nov 8 22:14:12 2019 +0100

    [CAMEL-14156] Avoid NPE with endpoint is null in JmsBinding (#3328)
    
    (cherry picked from commit 0d32cdd815fdcd5a09eb8f967fd1815be4937dee)
---
 .../java/org/apache/camel/component/jms/JmsBinding.java   |  2 +-
 .../org/apache/camel/component/jms/JmsBindingTest.java    | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
index 2d080f4..9e13928 100644
--- 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
+++ 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
@@ -376,7 +376,7 @@ public class JmsBinding {
     public void appendJmsProperty(Message jmsMessage, Exchange exchange, 
org.apache.camel.Message in,
                                   String headerName, Object headerValue) 
throws JMSException {
         if (isStandardJMSHeader(headerName)) {
-            if (headerName.equals("JMSCorrelationID") && 
!endpoint.isUseMessageIDAsCorrelationID()) {
+            if (headerName.equals("JMSCorrelationID") && (endpoint == null || 
!endpoint.isUseMessageIDAsCorrelationID())) {
                 
jmsMessage.setJMSCorrelationID(ExchangeHelper.convertToType(exchange, 
String.class, headerValue));
             } else if (headerName.equals("JMSReplyTo") && headerValue != null) 
{
                 if (headerValue instanceof String) {
diff --git 
a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBindingTest.java
 
b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBindingTest.java
index 4efeb3f..a109bda 100644
--- 
a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBindingTest.java
+++ 
b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBindingTest.java
@@ -22,6 +22,9 @@ import java.time.Instant;
 import java.util.Date;
 
 import org.apache.activemq.command.ActiveMQBlobMessage;
+import org.apache.activemq.command.ActiveMQTextMessage;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -54,6 +57,18 @@ public class JmsBindingTest {
     }
 
     @Test
+    public void noEndpointTest() throws Exception {
+        JmsBinding testBindingWithoutEndpoint = new JmsBinding();
+        ActiveMQTextMessage message = new ActiveMQTextMessage();
+        message.setText("test");
+        DefaultCamelContext camelContext = new DefaultCamelContext();
+        DefaultExchange exchange = new DefaultExchange(camelContext);
+        exchange.getIn().setBody("test");
+        exchange.getIn().setHeader("JMSCorrelationID", null);
+        testBindingWithoutEndpoint.appendJmsProperties(message, exchange);
+    }
+
+    @Test
     public void testExtractNullBodyFromJmsShouldReturnNull() throws Exception {
         assertNull(jmsBindingUnderTest.extractBodyFromJms(null, new 
ActiveMQBlobMessage()));
     }

Reply via email to