In my use case, I have to run two instances of the same application that read messages from 'queue-1' and write them back to another queue 'queue-2'. I need my messages inside the two queues to be ordered by specific property (sequence number) which is initially added to every message by producer. As per documentation, inside queue-1 the order of messages will be preserved as messages are sent by a single producer. But because of having multiple consumers that read, process and send the processed messages to queue-2, the order of messages inside queue-2 might be lost. So my task is to make sure that messages are delivered to queue-2 in the same order as they were read from queue-1. I have implemented re-sequencer pattern from Apache camel to re-order messages inside queue-2. The re-sequencer works fine but results to data transfer overhead as the camel routes run locally. Thinking about doing it in a better way, I have three questions:
1) Does artemis supports re-ordering of messages inside a queue using a property such as sequence number. 2) Is it possible to run the routes inside the server? If yes, can you give an example or give a link to the documentation? 3) Some artemis features such as divert (split) requires modifying broker configuration (broker.xml file), is there a way to do them programatically and dynamically so I can decide when to start diverting message? I know this can be accomplished by using camel, but I want everything to be running in the server. Thanks. -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html