> I had thought about the possible solutions for this and got 2 ideas: > 1. create several rows of processors and store the rows in some kind of > pool. For each data I pick up one row and process it through the > processes in the that row. > 2. create different pools for different type of processors. When data > is arrived, pick processors from those pools.
Not sure if it directly possible with Camel, e.g. using thread pools. But it should be possible using plain Java: None of the processors do the calculation work. Instead it delegates that to a pooled calculation instance. The processor now could be inside a parallel block with maximum thread size equals to pool size. Jan