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()) {