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);