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.