I changed from a listener to a consumer.receive and set the prefetch to 0.  The 
behavior is the same as with the message listener and prefetch set to 1.


From: Gary Tully [via ActiveMQ] 
[mailto:ml-node+3702690-1621008114-139...@n4.nabble.com]
Sent: Thursday, July 28, 2011 6:17 PM
To: Urciolo, Kevin J (IS)
Subject: Re: EXT :Re: Message Priority In 5.5.0-fuse-00-43

if you use prefetch=0, do you still see that behavior?

On 28 July 2011 21:07, urciolo <[hidden 
email]</user/SendEmail.jtp?type=node&node=3702690&i=0>> wrote:

> Hello, I took a look at the test cases.  I modified one a bit to reproduce 
> the behavior I am seeing.  It seems if “createConsumer” is called prior to 
> the producer sending messages, then prioritization does not work correctly.  
> If I simply move the createConsumer statement to below the producer sending 
> messages, then they are consumed in priority order.  The example code is 
> attached too.
>
> This is a problem for us since we want our consumers attached an listening 
> all the time for messages.  This behavior is reproducible with the JAVA and 
> CMS clients (Openwire).
>
> Do you have suggestions on what section of code I can look to attempt to 
> track down the problem?
>
>              // Create producer
>              ActiveMQConnection producerConnection = (ActiveMQConnection) 
> cf.createConnection();
>              producerConnection.setMessagePrioritySupported(true);
>              producerConnection.start();
>              final Session producerSession = 
> producerConnection.createSession(true, Session.SESSION_TRANSACTED);
>              MessageProducer producer = producerSession.createProducer(dest);
>
>              // Create consumer on separate connection
>              ActiveMQConnection consumerConnection = (ActiveMQConnection) 
> cf.createConnection();
>              consumerConnection.setMessagePrioritySupported(true);
>              consumerConnection.start();
>              final ActiveMQSession consumerSession = (ActiveMQSession) 
> consumerConnection.createSession(true, Session.SESSION_TRANSACTED);
>
>              //***************************************************
>              // If we create the consumer here, the
>              // the messages will be consumed in FIFO like order
>              //***************************************************
>              ActiveMQMessageConsumer consumer = (ActiveMQMessageConsumer) 
> consumerSession.createConsumer(dest);
>
>              // Produce X number of messages with a session commit after each 
> message
>              Random random = new Random();
>              for (int i = 0; i < messageCount; ++i) {
>
>                     Message message = producerSession.createTextMessage("Test 
> message #" + i);
>                     producer.send(message, DeliveryMode.PERSISTENT, 
> random.nextInt(10), 5000);
>                     producerSession.commit();
>              }
>              producer.close();
>
>              //***************************************************
>              // If we create the consumer here instead of above, the
>              // the messages will be consumed in priority order
>              //***************************************************
>              //ActiveMQMessageConsumer consumer = (ActiveMQMessageConsumer) 
> consumerSession.createConsumer(dest);
>
>
>
> From: Gary Tully [via ActiveMQ] [mailto:[hidden 
> email]</user/SendEmail.jtp?type=node&node=3702690&i=1>]
> Sent: Tuesday, July 26, 2011 3:39 PM
> To: Urciolo, Kevin J (IS)
> Subject: Re: EXT :Re: Message Priority In 5.5.0-fuse-00-43
>
> so that is not expected. Have a peek over one of the message priority
> test cases to see if there is something different from your scenario,
> you need to enable priority support on a destination for example.
>
> Also note that kahaDB supports three priority levels, and the jdbc store 0-9.
> http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/MessagePriorityTest.java?view=markup
>
> On 26 July 2011 18:48, urciolo <[hidden 
> email]</user/SendEmail.jtp?type=node&node=3696786&i=0>> wrote:
>
>> Thank you for the prompt reply.
>>
>> We do have prefetch set to 1.  This test was with a single producer that 
>> produced all the messages that was then followed by a consumer to consume 
>> all the messages.  Screenshot of consumer prefetch attached.
>>
>>
>> From: Gary Tully [via ActiveMQ] [mailto:[hidden 
>> email]</user/SendEmail.jtp?type=node&node=3696786&i=1>]
>> Sent: Tuesday, July 26, 2011 1:38 PM
>> To: Urciolo, Kevin J (IS)
>> Subject: EXT :Re: Message Priority In 5.5.0-fuse-00-43
>>
>> if you have concurrent producers and consumers, then the prefetch has
>> an effect as a consumer will get a batch of messages which will get
>> delivered with relative priority.. but there may be others with higher
>> priority arriving on the broker.
>> Use prefetch=1|0 to circumvent that.
>>
>> On 26 July 2011 18:18, urciolo <[hidden 
>> email]</user/SendEmail.jtp?type=node&node=3696461&i=0>> wrote:
>>
>>> I am testing out message priority in 5.5.0-fuse-00-43.
>>>
>>> I have prioritization enabled, and a maxPageSize of 5000.  When I consume
>>> 230 messages with priorities 0-9, almost all of them are consumed in the
>>> correct priority.  However, the last 20 or so seem to start the priority
>>> consumption over again.  I thought increasing the maxPageSize would fix this
>>> problem.  However, it does not seem to make a difference.  Is this the
>>> expected behavior?
>>>
>>> Attached is a text file showing the consumption of messages.  The payload
>>> output is the priority number.  You can see at the end how the priorities
>>> start over again.
>>>
>>>
>>> http://activemq.2283324.n4.nabble.com/file/n3696416/test2.txt test2.txt
>>>
>>>
>>> http://activemq.2283324.n4.nabble.com/file/n3696416/attributes.jpg
>>>
>>> --
>>> View this message in context: 
>>> http://activemq.2283324.n4.nabble.com/Message-Priority-In-5-5-0-fuse-00-43-tp3696416p3696416.html
>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>
>>
>>
>>
>> --
>> http://fusesource.com
>> http://blog.garytully.com
>>
>> ________________________________
>> If you reply to this email, your message will be added to the discussion 
>> below:
>>
>>
>>
>> --
>> View this message in context: 
>> http://activemq.2283324.n4.nabble.com/Message-Priority-In-5-5-0-fuse-00-43-tp3696416p3696505.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>
>
> --
> http://fusesource.com
> http://blog.garytully.com
>
> ________________________________
> If you reply to this email, your message will be added to the discussion 
> below:
>
>
>
> --
> View this message in context: 
> http://activemq.2283324.n4.nabble.com/Message-Priority-In-5-5-0-fuse-00-43-tp3696416p3702365.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



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

________________________________
If you reply to this email, your message will be added to the discussion below:
http://activemq.2283324.n4.nabble.com/Message-Priority-In-5-5-0-fuse-00-43-tp3696416p3702690.html
To unsubscribe from Message Priority In 5.5.0-fuse-00-43, click 
here<http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3696416&code=S2V2aW4uVXJjaW9sb0BuZ2MuY29tfDM2OTY0MTZ8MTc2MDkyNzEzMw==>.


--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Message-Priority-In-5-5-0-fuse-00-43-tp3696416p3704498.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to