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 2024/01/27 20:55:49 UTC

(camel) 03/03: (chores) camel-jms: simplify overly complex methods

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

commit 00d7093be2fd37f5ba3eeebbe94a7514bbbf61f5
Author: Otavio R. Piske <an...@gmail.com>
AuthorDate: Sat Jan 27 20:25:51 2024 +0100

    (chores) camel-jms: simplify overly complex methods
    
    Signed-off-by: Otavio R. Piske <an...@gmail.com>
---
 .../jms/DefaultJmsMessageListenerContainer.java    | 36 +++++++++++++---------
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java
index 4cf0c4a8ede..cb89cc573c3 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java
@@ -97,27 +97,35 @@ public class DefaultJmsMessageListenerContainer extends DefaultMessageListenerCo
         TaskExecutor answer;
 
         if (endpoint.getDefaultTaskExecutorType() == DefaultTaskExecutorType.ThreadPool) {
-            ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-            executor.setBeanName(beanName);
-            executor.setThreadFactory(new CamelThreadFactory(pattern, beanName, true));
-            executor.setCorePoolSize(endpoint.getConcurrentConsumers());
-            // Direct hand-off mode. Do not queue up tasks: assign it to a thread immediately.
-            // We set no upper-bound on the thread pool (no maxPoolSize) as it's already implicitly constrained by
-            // maxConcurrentConsumers on the DMLC itself (i.e. DMLC will only grow up to a level of concurrency as
-            // defined by maxConcurrentConsumers).
-            executor.setQueueCapacity(0);
-            executor.initialize();
-            answer = executor;
+            answer = createThreadPoolExecutor(beanName, pattern);
         } else {
-            SimpleAsyncTaskExecutor executor = new SimpleAsyncTaskExecutor(beanName);
-            executor.setThreadFactory(new CamelThreadFactory(pattern, beanName, true));
-            answer = executor;
+            answer = createAsyncTaskExecutor(beanName, pattern);
         }
 
         taskExecutor = answer;
         return answer;
     }
 
+    private static TaskExecutor createAsyncTaskExecutor(String beanName, String pattern) {
+        SimpleAsyncTaskExecutor executor = new SimpleAsyncTaskExecutor(beanName);
+        executor.setThreadFactory(new CamelThreadFactory(pattern, beanName, true));
+        return executor;
+    }
+
+    private TaskExecutor createThreadPoolExecutor(String beanName, String pattern) {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setBeanName(beanName);
+        executor.setThreadFactory(new CamelThreadFactory(pattern, beanName, true));
+        executor.setCorePoolSize(endpoint.getConcurrentConsumers());
+        // Direct hand-off mode. Do not queue up tasks: assign it to a thread immediately.
+        // We set no upper-bound on the thread pool (no maxPoolSize) as it's already implicitly constrained by
+        // maxConcurrentConsumers on the DMLC itself (i.e. DMLC will only grow up to a level of concurrency as
+        // defined by maxConcurrentConsumers).
+        executor.setQueueCapacity(0);
+        executor.initialize();
+        return executor;
+    }
+
     @Override
     public void stop() throws JmsException {
         if (logger.isDebugEnabled()) {