Camel 2.3 - ThreadPool ConfigurationPage edited by Claus IbsenDesign Notes for ThreadPool ConfigurationCAMEL-1588 is the ticket for a new and improved thread pool configuration for Apache Camel. Its intended for Camel 2.3. ScopeCamel uses thread pool in various places such as EIP patterns, Components, Async API and whatnot. The aim is to improved and allow easier to configure those thread pools in a more streamlined manner. The goal is to offer both a fine grained configuration where you can tweak individual pools and have more coarse grained configuration with fallback to global settings etc. Outside scopeSome components provides their own thread pool configuration and management which Camel of course cannot and should not try to tailor with. For example Jetty is such an example. Usages of thread pools in CamelCurrently Camel uses thread pools in camel-core in the following areas:
Existing configurationYou can configure the thread pool using the setExecutorService setter methods that usually exists on those places where its in use. Some EIP patterns offer a executorServiceRef option to refer to some pool to be looked up in the Registry. We should ensure all EIPs can be configured to use a custom thread pool in a nice and easy way. DONE Using default ThreadPoolsWe should use CachedThreadPool from the JDK Core as its the best general purpose pool for many short lived tasks, which is what Camel really does. Processing many messages in a short live. DONE Only used SingleExecutorService for background tasks, and ScheduledExecutorService for scheduled tasks DONE ThreadPool scopeIt should be possible to configure a thread pool on either per CamelContext level or per Route level, such as you can do with AutoStartup and the likes. Thread pool configuration by rulesIt should be possible to to define a set of rules which matches which thread pool a given source should use. A ruleset something like this: <threadPoolRule route="*" source="Aggregator" executorServiceRef="myAggPool"/> <threadPoolRule route="*" source="To" executorServiceRef="mySendPool"/> <threadPoolRule route="route3" source="*" executorServiceRef="myRoute3Pool"/>
Change Notification Preferences
View Online
|
View Change
|
Add Comment
|
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configuration confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence
- [CONF] Apache Camel > Camel 2.3 - ThreadPool Configurat... confluence