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 <angusyo...@gmail.com>
AuthorDate: Sat Jan 27 20:25:51 2024 +0100

    (chores) camel-jms: simplify overly complex methods
    
    Signed-off-by: Otavio R. Piske <angusyo...@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()) {

Reply via email to