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/ > > >
