6.7. Priority Queuing

6.7.1. Priority Queuing

Priority queues deliver messages based on their priority. Higher priority messages are delivered before lower priority messages. A total of 10 distinct priority levels are possible.
A priority queue is declared with a qpid.priority attribute. This attribute is an integer value between 1 and 10, and defines the number of distinct priority levels for the queue.
For example, when the qpid.priority attribute of a queue is set to 10, there are ten distinct priority levels for the queue. In this case a message with a priority level of 10 is delivered before a message with a priority of 9, which is delivered before a message with a priority level of 5, which is delivered before a message with a priority level of 1.
If the qpid.priority attribute of a queue is set to 2, there are two distinct priority levels for the queue. In this case message priorities 6-10 is the queue priority level 1, and message priorities 1-5 is the queue priority level 2. Messages in the same priority band are delivered based on their priority and the order in which they are received.