You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/10/13 12:14:10 UTC

[camel] branch main updated: (chores) camel-sjms: avoid shadowing variables

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

orpiske 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 76dff191783 (chores) camel-sjms: avoid shadowing variables
76dff191783 is described below

commit 76dff191783c4df050528296674f8e184be0acee
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Oct 13 12:56:54 2022 +0200

    (chores) camel-sjms: avoid shadowing variables
---
 .../apache/camel/component/sjms/SjmsProducer.java  | 15 +++++++------
 .../apache/camel/component/sjms/SjmsTemplate.java  | 26 +++++++++++++---------
 2 files changed, 24 insertions(+), 17 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 1575833f042..bdcba19b4c8 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
@@ -183,13 +183,13 @@ public class SjmsProducer extends DefaultAsyncProducer {
 
     protected ReplyManager createReplyManager() throws Exception {
         // use a temporary queue
-        ReplyManager replyManager = new TemporaryQueueReplyManager(getEndpoint().getCamelContext());
-        replyManager.setEndpoint(getEndpoint());
+        ReplyManager temporaryQueueReplyManager = new TemporaryQueueReplyManager(getEndpoint().getCamelContext());
+        temporaryQueueReplyManager.setEndpoint(getEndpoint());
 
         String name = "JmsReplyManagerTimeoutChecker[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
         ScheduledExecutorService replyManagerScheduledExecutorService
                 = getEndpoint().getCamelContext().getExecutorServiceManager().newSingleThreadScheduledExecutor(name, name);
-        replyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);
+        temporaryQueueReplyManager.setScheduledExecutorService(replyManagerScheduledExecutorService);
 
         name = "JmsReplyManagerOnTimeout[" + getEndpoint().getEndpointConfiguredDestinationName() + "]";
         // allow the timeout thread to timeout so during normal operation we do not have a idle thread
@@ -198,12 +198,13 @@ public class SjmsProducer extends DefaultAsyncProducer {
             throw new IllegalArgumentException("The option replyToOnTimeoutMaxConcurrentConsumers must be >= 1");
         }
         ExecutorService replyManagerExecutorService
-                = getEndpoint().getCamelContext().getExecutorServiceManager().newThreadPool(replyManager, name, 0, max);
-        replyManager.setOnTimeoutExecutorService(replyManagerExecutorService);
+                = getEndpoint().getCamelContext().getExecutorServiceManager().newThreadPool(temporaryQueueReplyManager, name, 0,
+                        max);
+        temporaryQueueReplyManager.setOnTimeoutExecutorService(replyManagerExecutorService);
 
-        ServiceHelper.startService(replyManager);
+        ServiceHelper.startService(temporaryQueueReplyManager);
 
-        return replyManager;
+        return temporaryQueueReplyManager;
     }
 
     /**
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsTemplate.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsTemplate.java
index 67c7979887b..ba265dffe0e 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsTemplate.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsTemplate.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.sjms;
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
+import javax.jms.JMSException;
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
@@ -186,17 +187,9 @@ public class SjmsTemplate {
             // property to store it - CamelJMSDeliveryMode. Otherwise we could not keep
             // track whether it was set or not as getJMSDeliveryMode() will default return 1 regardless
             // if it was set or not, so we can never tell if end user provided it in a header
-            int deliveryMode;
-            if (JmsMessageHelper.hasProperty(message, JmsConstants.JMS_DELIVERY_MODE)) {
-                deliveryMode = message.getIntProperty(JmsConstants.JMS_DELIVERY_MODE);
-                // remove the temporary property
-                JmsMessageHelper.removeJmsProperty(message, JmsConstants.JMS_DELIVERY_MODE);
-            } else {
-                // use the existing delivery mode from the message
-                deliveryMode = message.getJMSDeliveryMode();
-            }
+            int resolvedDeliveryMode = resolveDeliveryMode(message);
 
-            producer.send(message, deliveryMode, priority, ttl);
+            producer.send(message, resolvedDeliveryMode, priority, ttl);
         } else if (explicitQosEnabled) {
             producer.send(message, deliveryMode, priority, timeToLive);
         } else {
@@ -204,6 +197,19 @@ public class SjmsTemplate {
         }
     }
 
+    private static int resolveDeliveryMode(Message message) throws JMSException {
+        int resolvedDeliveryMode;
+        if (JmsMessageHelper.hasProperty(message, JmsConstants.JMS_DELIVERY_MODE)) {
+            resolvedDeliveryMode = message.getIntProperty(JmsConstants.JMS_DELIVERY_MODE);
+            // remove the temporary property
+            JmsMessageHelper.removeJmsProperty(message, JmsConstants.JMS_DELIVERY_MODE);
+        } else {
+            // use the existing delivery mode from the message
+            resolvedDeliveryMode = message.getJMSDeliveryMode();
+        }
+        return resolvedDeliveryMode;
+    }
+
     public Message receive(String destinationName, String messageSelector, boolean isTopic, long timeout) throws Exception {
         Object obj = execute(sc -> {
             Destination dest = destinationCreationStrategy.createDestination(sc, destinationName, isTopic);