You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by qbeukes <qb...@add.za.net> on 2008/07/21 10:46:10 UTC

Ordering of Messages

Hey,

I want a consumer that posts messages in the EXACT order they were received
to a single consumer.

It's very important that they are received and processed one at a time, in
the exact order they were committed.

In the admin interface, under topics I have:
ActiveMQ.Advisory.Connection	0	2511	0	Send To Delete 
ActiveMQ.Advisory.Producer.Queue.JMT.REQUESTS	0	2508	0	Send To Delete 
ActiveMQ.Advisory.Topic	0	1257	0	Send To Delete 
ActiveMQ.Agent	1	0	0	Send To Delete 
ActiveMQ.Advisory.Consumer.Topic.ActiveMQ.Agent	0	1	0	Send To Delete 
ActiveMQ.Advisory.Queue	0	2509	0	Send To Delete 
ActiveMQ.Advisory.Consumer.Queue.JMT.REQUESTS	0	1	0	Send To Delete 
ActiveMQ.Advisory.Consumer.Queue.example.A	0	1	0	Send To Delete

Then in the config I have:
    <destinationPolicy>
      <policyMap>
        <policyEntries>

          <policyEntry topic="JMT.REQUESTS" producerFlowControl="false"
memoryLimit="128mb">
            <dispatchPolicy>
              <strictOrderDispatchPolicy/>
            </dispatchPolicy>
            <subscriptionRecoveryPolicy>
              <lastImageSubscriptionRecoveryPolicy/>
            </subscriptionRecoveryPolicy>
          </policyEntry>

        </policyEntries>
      </policyMap>
    </destinationPolicy>

Would this do it for the JMT.REQUESTS queue? Is my configuration options
correct, and the topic="JMT.REQUEST" referring to the correct queue?

Thanks,
Q
-- 
View this message in context: http://www.nabble.com/Ordering-of-Messages-tp18564477p18564477.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Ordering of Messages

Posted by James Strachan <ja...@gmail.com>.
2008/7/21 qbeukes <qb...@add.za.net>:
>
> Hey,
>
> I want a consumer that posts messages in the EXACT order they were received
> to a single consumer.
>
> It's very important that they are received and processed one at a time, in
> the exact order they were committed.
>
> In the admin interface, under topics I have:
> ActiveMQ.Advisory.Connection    0       2511    0       Send To Delete
> ActiveMQ.Advisory.Producer.Queue.JMT.REQUESTS   0       2508    0       Send To Delete
> ActiveMQ.Advisory.Topic 0       1257    0       Send To Delete
> ActiveMQ.Agent  1       0       0       Send To Delete
> ActiveMQ.Advisory.Consumer.Topic.ActiveMQ.Agent 0       1       0       Send To Delete
> ActiveMQ.Advisory.Queue 0       2509    0       Send To Delete
> ActiveMQ.Advisory.Consumer.Queue.JMT.REQUESTS   0       1       0       Send To Delete
> ActiveMQ.Advisory.Consumer.Queue.example.A      0       1       0       Send To Delete
>
> Then in the config I have:
>    <destinationPolicy>
>      <policyMap>
>        <policyEntries>
>
>          <policyEntry topic="JMT.REQUESTS" producerFlowControl="false"
> memoryLimit="128mb">
>            <dispatchPolicy>
>              <strictOrderDispatchPolicy/>
>            </dispatchPolicy>
>            <subscriptionRecoveryPolicy>
>              <lastImageSubscriptionRecoveryPolicy/>
>            </subscriptionRecoveryPolicy>
>          </policyEntry>
>
>        </policyEntries>
>      </policyMap>
>    </destinationPolicy>
>
> Would this do it for the JMT.REQUESTS queue?

The above defines a policy for a topic, not a queue :)

> Is my configuration options
> correct, and the topic="JMT.REQUEST" referring to the correct queue?

The out of the box configuration for queues should do what you require
- provided you use only a single consumer - or you use exclusive
consumers or message groups...
http://activemq.apache.org/how-do-i-preserve-order-of-messages.html


-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com