You might be able to use Camel routes embedded in the broker to move messages from each topic into a single new queue. That would preserve message ordering even when the consumer is disconnected.
Note that I've never used embedded Camel routes, so I can't say for sure that the approach would work, but I think it should based on what I know. On Oct 1, 2015 2:15 PM, "artnaseef" <a...@artnaseef.com> wrote: > First off, there are no ordering guarantees for messages across more than > one > destination. > > The closest to a workable solution I believe you'll find for needing to > serialize the work from messages across multiple destinations, without some > form of internal queueing in the application, would involve the use of > composite destinations. That is, to create a consumer of a composite > destination that consists of all the individual destinations for which the > application needs to consume messages. > > Keep in mind composite destinations introduce many complexities, so be > careful to test with all the features of ActiveMQ in-use. > > Internal queueing might be the best solution to the problem. If there's an > issue of messages being held-up for long periods, perhaps it would be > possible to set prefetch to 1 and have the processing push the messages > onto > the queue and then wait for processing of that message to complete before > acknowledging it back to the broker. > > Hope this helps. > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Activemq-cpp-Synchronous-Receive-from-Multiple-Consumers-tp4702375p4702547.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >