Hey Zoran. I read again the patterns you mentioned. In my use case the order of processing within a group doesn't matter as long as two messages from the same group are never processed in parallel. So i guess resenquencer is out of the picture unless I didn't get the intention.
So what we are left with is the content based router. Sure. The message comes, i can see what group it belongs two... And what next? Perhaps it's the very first message from that group so I would need to trigger creating route/processor for that group somehow, perhaps messages from this group were processed before in which case the processor for the group should already exist... On 31 Mar 2017 7:58 p.m., "Zoran Regvart" <[email protected]> wrote: > Hi Artur, > have a look at Camel EIP page[1], what you describe sounds to me like > Resequencer and Content based router patterns, > > zoran > > [1] https://camel.apache.org/eip.html > > On Fri, Mar 31, 2017 at 5:08 PM, Artur Jablonski > <[email protected]> wrote: > > Hello. > > > > I wonder if someone could push me in the right direction trying to > express > > quite curious case in Camel route. > > > > Imagine there's a stream of messages some of which can be processed in > > parallel and some have to be processed serially. You can group the > messages > > that require serial processing together by looking at the message body. > You > > don't know upfront how many groups can occur in the stream. > > > > The way I thought about doing this is having a route for each message > > group. Since I don't know upfront how many and what groups there will be > > then I would need to create routes dynamically. If a message comes > > belonging to a group that doesn't have it's handling route, then i could > > create it (is that even possible??) Then if there's no messages coming > for > > a given group in some time I could remove the route for the group to > > cleanup (is that possible?) > > > > New to Camel > > > > Thx! > > Artur > > > > -- > Zoran Regvart >
