It the consumer is fast, then there will be no buffering and no
opportunity to order. Using prefetch of 0 may help as it will slow
down the consumer.

There was a related issue on trunk recently that may help,
https://issues.apache.org/jira/browse/AMQ-3436 it is resolved on trunk
for 5.6

On 5 March 2012 20:21, Jeremy Levy <jel...@gmail.com> wrote:
> Gary,
>
> The test doesn't represent the scenario I was attempting to replicate (as
> far as I could tell). The reason my test was failing was that in my test I
> was starting the consumer before putting the messages on the queue.  The
> MesagePrirityTest.testQueues first puts messages on the queue, then starts
> a consumer.
>
> When I change MesagePrirityTest.testQueues to start the queue first, it
> fails.  When I modify my original test to start the consumer after putting
> the messages, as the original MesagePrirityTest.testQueues does, my test
> works.
>
> Should JMS Priority work with a consumer already active?  Thanks in advance
> for any pointers.
>
> Jeremy
>
> On Thu, Feb 16, 2012 at 8:59 AM, Gary Tully <gary.tu...@gmail.com> wrote:
>
>> Have a peek at the working unit test on trunk for a comparison with
>> your test case:
>>
>> http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/MessagePriorityTest.java
>>
>> On 15 February 2012 20:58, Jeremy Levy <jel...@gmail.com> wrote:
>> > I'm attempting to test JMS Priority with ActiveMQ 5.5.1 without much
>> > success and was hoping someone could point out something I am missing.
>> >
>> > My test case consists of putting 1000 messages on a queue with a priority
>> > (being set on both the producer and the message) of 0. Followed by
>> putting
>> > 100 messages on the queue with a priority of 9. Then start the queue and
>> > print out the value of a TextMessage which also includes the priority in
>> a
>> > String simply for debugging purposes.
>> >
>> > The result is that I see 1000 messages with the low priority followed by
>> > the 100 messages of high priority. Whereas I would assume I'd see the 100
>> > high priority messages mixed it with the 1000 low priority rather then
>> just
>> > being processed sequentially as they were added to the queue.
>> >
>> > The broker is a fresh install of ActiveMQ, I've only made the following
>> > configuration change in activemq.xml:
>> >
>> > ...
>> >  <policyEntry queue=">" prioritizedMessages="true"
>> > useConsumerPriority="true">
>> > ...
>> >
>> >
>> > When I create the queue, I'm using the following parameter
>> > "?consumer.prefetchSize=5", with the assumption that
>> > the prioritization happens in the broker, and a prefetched message will
>> > process once it's at the consumer regardless of prioritization.
>> >
>> > I based my configuration mainly on:
>> >
>> > http://activemq.apache.org/how-can-i-support-priority-queues.html
>> >
>> > Can anyone see what I am missing here?
>> >
>> > Jeremy
>>
>>
>>
>> --
>> http://fusesource.com
>> http://blog.garytully.com
>>
>
>
>
> --
> Jeremy Levy



-- 
http://fusesource.com
http://blog.garytully.com

Reply via email to