Ooops, my first posting, and I have already made a fool of myself... :) Yes, the priorities work fine, I thought that lower numbers are higher priorities when actually it is the opposite... That and not checking properly the output I got. So, for the reference, both: $ qpid-config add queue testqueue --argument=qpid.priorities=10 and: $ qpid-config add queue testqueue --argument=x-qpid-priorities=10 work in qpid C++ 0.18. Now I just wish it would be better documented (or at all :)), it also wouldn't hurt if qpid-stat would have an extra column denoting priority queue (like it is for durable and other types).
Thanx to all for your help. Regards, Ales > > > -----Original Message----- > > From: Pavel Moravec [mailto:[email protected]] > > Sent: Friday, March 01, 2013 1:23 PM > > To: [email protected] > > Subject: Re: C++ broker and priority queues > > > > Hi all, > > what worked everytime for me (and does so even on 0.18): > > > > qpid-config add queue test --argument=x-qpid-priorities=10 > > > > # let test it using qpid-send, add property "prio" to see the ordering > > > > qpid-send -m 1 -a test --priority 2 -P prio=two qpid-send -m 1 -a test > > --priority 1 -P prio=one qpid-send -m 1 -a test --priority 3 -P prio=three > > > > # read the messages by _browsing_ the queue - messages are printed in FIFO > > order, that is correct (discussed here ~2 years ago) > > > > qpid-receive -m 3 -a "test; {mode:browse}" --print-headers=yes | grep prio > > Properties: {prio:two, sn:1, ts:1362136552849962388, > > x-amqp-0-10.routing-key:test} > > Properties: {prio:one, sn:1, ts:1362136559340302340, > > x-amqp-0-10.routing-key:test} > > Properties: {prio:three, sn:1, ts:1362136563996705690, > > x-amqp-0-10.routing-key:test} > > > > # consume the messages - will follow priorities now properly > > > > qpid-receive -m 3 -a "test" --print-headers=yes | grep prio > > Properties: {prio:three, sn:1, ts:1362136563996705690, > > x-amqp-0-10.routing-key:test} > > Properties: {prio:two, sn:1, ts:1362136552849962388, > > x-amqp-0-10.routing-key:test} > > Properties: {prio:one, sn:1, ts:1362136559340302340, > > x-amqp-0-10.routing-key:test} > > > > > > Hope it helps, > > > > Zdravím krajany (greetings to compatriots), Pavel Moravec > > > > > > ----- Original Message ----- > > > From: "Aleš Trček" <[email protected]> > > > To: [email protected] > > > Sent: Friday, March 1, 2013 12:46:47 PM > > > Subject: RE: C++ broker and priority queues > > > > > The prefetch buffer was set to 1, but this is irrelevant for my test, > > which is as follows: > > -create queue with --argument=qpid.priorities=10 -put a few messages > > with prio 6 to the queue (messageProducer.send(message, > > DeliveryMode.PERSISTENT, 6, 0);) -put a few messages with prio 3 -put > > a few messages with prio 4 -check queue stats with qpid-stat - > > messages are in the queue -run receive test, which gets messages one > > by one - first I get messages with prio 6, then 3, then 4, just the > > way I had sent them in (as said, I can see that priorities do get set > > by calling message.getJMSPriority()). > > [Actions are run one by one, so there should be no problems with > > session / connection.] > > > > Therefore I assume that queue is still FIFO and not a priority queue. > > Did someone try this and made it work? :) > > > > Regards, > > Ales > > > > -----Original Message----- > > From: Robbie Gemmell [mailto:[email protected]] > > Sent: Thursday, February 28, 2013 7:51 PM > > To: [email protected] > > Subject: RE: C++ broker and priority queues > > > > Are you sure the queue isn't a priority queue? What is the message > > activity you are using to determine this? > > > > Depending on the nature of your test, it is possible you are simply > > seeing the result of the clients message prefetch buffer (defaults to > > 500msg) if you haven't adjusted it. You should use a lower prefetch > > value with a priority queue if the ordering is of most importance to > > you. See > > http://qpid.apache.org/books/trunk/AMQP-Messaging-Broker-Java-Book/htm > > l/Java-Broker-Queues-OtherTypes.html#Java-Broker-Queues-OtherTypes-Set > > LowPrefetchfor > > more details. > > > > Robbie > > On 28 Feb 2013 10:17, "Aleš Trček" <[email protected]> wrote: > > > > > Thanks for the suggestion, however this does not seem to work. > > > Queue > > > is created, messages can be exchanged, but I receive them FIFO not > > > sorted by priority. With message.getJMSPriority() I can see the > > > priorities I had set, so that is OK. It's just that the queue is not > > > a priority queue. Any other insights into this priority stuff on C++ > > > broker? :) > > > > > > >Hi Aleš, > > > > > > > >I think you can use the --argument=<NAME=VALUE> option of the > > > >qpid-config > > > to specify the number of priorities. It is a long time since I used > > > it, but I believe it should >be something like ... > > > > --argument=qpid.priorities=10 > > > >... to specify that you want the queue to distinguish 10 priority > > > >levels. > > > > > > > >I'm not sure why the priority queues seem to be missing in the Qpid > > > documentation - Red Hat MRG-M documentation seems to contain some > > > more details about it (> > > > https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_MR > > > G/ 2/html/Messaging_Programming_Reference/sect-Priority_Queuing.html > > > ). > > > >I'm not sure whether this means that the functionality has been > > > >removed > > > since 0.14. > > > > > > > >Regards > > > >Jakub > > > > > > > >On Wed, Feb 27, 2013 at 4:46 PM, Aleš Trček <[email protected]> > > > >wrote: > > > > > > > >> re is no trace of priority queues. How can I create one, or i > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] For > > additional commands, e-mail: [email protected] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
