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

Reply via email to