git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using ExecutorService from JEE server


Hi Darius,
you need to implement ExecutorServiceManager[1] interface and delegate
to ExecutorService you looked up in Liberty and set that
implementation on CamelContext via setExecutorServiceManager[2]
method. If you're using Camel Spring XML support and
ExecutorServiceManager is available in the Spring application context
it will be picked up automatically[3].

This does not happen if you're using Camel support for Spring Boot
auto configuration. I've created CAMEL-12482[4] to make this on par in
Spring Boot support.

As a workaround you can invoke CamelContext::setExecutorServiceManager
as a part of your initialization. Also make note that certain
components use their own thread pools and will need additional
configuration depending on the component.

zoran

On Fri, May 4, 2018 at 5:27 AM, Darius Cooper <dariuscooper@xxxxxxxxx> wrote:
> The Camel In Action book says: "When you need to use a different thread
> pool provider (for example, a provider from a Java EE server), you can
> create a custom ExecutorServiceManager to work with the provider. "
>
>
> On IBM Liberty, by turning on the feature "concurrent/1.0" one can get an
> ExecutorService. I would like to use this ExecutorService.
>
> My understanding is that I can create a ThreadPoolFacotory that wraps this
> ExecutorService.
>
> As long as that ThreadPoolFactory is a Spring bean, Camel will find it and
> use it as the default.
>
> Is that correct? It does not appear to use the ExecutorService from
> Liberty. Does does it have to be set explicitly on the Camel context?

[1] https://github.com/apache/camel/blob/03e57c355f5ddeb48af51e9e066dcfd60c2bd62f/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceManager.java
[2] https://github.com/apache/camel/blob/03e57c355f5ddeb48af51e9e066dcfd60c2bd62f/camel-core/src/main/java/org/apache/camel/CamelContext.java#L1665
[3] https://github.com/apache/camel/blob/03e57c355f5ddeb48af51e9e066dcfd60c2bd62f/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java#L1183-L1187
[4] https://issues.apache.org/jira/browse/CAMEL-12482
-- 
Zoran Regvart