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.