...
The seda: component provides asynchronous SEDA behaviour so that messages are exchanged on a BlockingQueue and consumers are invoked in a seperate thread to the producer. Be aware that adding a thread pool to a seda
endpoint by doing something like: from("seda:stageName").thread(5).process(...) can wind up with two BlockQueues. One from seda endpoint and one from the workqueue of the thread pool which may not be what you want. Instead, you might want to consider configuring a direct endpoint with a thread pool which can process messages both synchronously and asynchronously. For example, from(direct:stageName").thread(5).process(..).
...