You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Sitati Kituyi <si...@googlemail.com> on 2015/09/07 11:07:08 UTC

Scaling down thread pools after .threads()

HI all,

I have a scenario where I'll have a dynamic number of camel routes at
runtime, each posting to different http endpoints using camel-http. For
performance reasons, we've scaled up "defaultMaxConnectionsPerHost", and
want to have multiple threads processing exchanges on each of the routes.

I'm using jconsole to monitor the thread behaviour. When I tried seda with
concurrentConsumers=x, the threads were allocated immediately, meaning each
route immediately consumes x threads on server startup. We'll quickly hit
OS thread limits under this setup.

When I try direct: with .threads(1, x) instead, the count of threads scales
up to x as expected when exchanges enter the queue, but I did not see the
thread allocation scaling back down, even when that route had no further
exchanges to process for the next 10-15 minutes.

How do I get the threads created in my route to scale back down when
traffic is idle?

-- 
Sitati Kituyi