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
>

Reply via email to