Yes, message groups is the way to go. I've used this in the past and it's
an extremely elegant and well-behaved pattern ;)

If producers shut down cleanly, you may want to take care of closing the
relevant Message Group by sending the JMSXGroupSeq header = 0 or -1. Not
sure which is the right value because the AMQ doc seems to contradict
around this point - just posting a message on the AMQ forum.

Regards,
Raúl.

On 12 December 2011 17:00, Charles Hudak <[email protected]> wrote:

> Ah, message groups...that would theoretically do exactly what I need.
>
> Thanks!
>
> On Mon, Dec 12, 2011 at 8:50 AM, Claus Ibsen <[email protected]>
> wrote:
>
> > Hi
> >
> > See this FAQ on AMQ which have some pointers. Maybe some of that is
> > possible for you.
> > In case you use a message broker or AMQ
> > http://activemq.apache.org/how-do-i-preserve-order-of-messages.html
> >
> >
> > On Mon, Dec 12, 2011 at 5:46 PM, Charles Hudak <[email protected]>
> > wrote:
> > > I'm wondering if something is possible...
> > >
> > > I have a need to implement FIFO queuing on a source basis but I have a
> > > potential to have thousands (millions?) of potential sources (e.g. a
> set
> > of
> > > mobile devices). I want messages from each source to be processed in
> FIFO
> > > order seriallly but I need concurrency in general in the system (e.g.
> > > source A can be processed concurrently with source B but all of source
> A
> > > and source B's messages should be processed in serial fashion.
> > >
> > > Sources can theoretically join and leave the system at any time so
> there
> > > isn't any way to pre-configure them when the system starts.
> > >
> > > For capacity reasons idle source endpoints (consumers) should disposed
> of
> > > so they don't consume resources.
> > >
> > > So, in general, what I want to do is:
> > >
> > > When a message is received from sourceA an endpoint (consumer) is spun
> up
> > > to process the message (and any additional messages for sourceA that
> come
> > > in while the endpoint is active) but once the endpoint becomes idle and
> > is
> > > receiving no more messages, it should be closed down.
> > >
> > > Is something like this doable in Camel? Does anyone know how I would
> > > configure things to get this to work?
> > >
> > > Thanks in advance for any pointers...
> > >
> > > Charles
> >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > FuseSource
> > Email: [email protected]
> > Web: http://fusesource.com
> > Twitter: davsclaus, fusenews
> > Blog: http://davsclaus.blogspot.com/
> > Author of Camel in Action: http://www.manning.com/ibsen/
> >
>

Reply via email to