[ 
https://issues.apache.org/jira/browse/QPID-26?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621763#action_12621763
 ] 

Rob Godfrey commented on QPID-26:
---------------------------------

Further info on the priority queues work:

The broker implements *strict* priority queuing.  If there are two messages M 
of priority class (a) and N of priority class (b) where (a) is a higher 
priority than (b); then a subscription will always be sent message M before 
message N.  

When a queue is defined the number of priority classes it implements must be 
defined.  This can be done either via the broker queue configuartion in the 
virtualhosts.xml (by adding a <priorities>X</priorities> tag in the queue 
definition where X is the number of priorities 1 <= X <= 9); or by adding a 
mapping "x-qpid-priorities"->X to the arguments field table sent on the 
queue.declare command.

Altering the number of separate priorities defined works in the way described 
in the AMQP0-10 specification 9which is compatible with the JMS requirements).

> Provide prority parameter implementation for message MessageProducer.send 
> method
> --------------------------------------------------------------------------------
>
>                 Key: QPID-26
>                 URL: https://issues.apache.org/jira/browse/QPID-26
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker, Java Client
>    Affects Versions: M3
>            Reporter: Marnie McCormack
>            Assignee: Rob Godfrey
>             Fix For: M3
>
>
> The priority parameter on the javax.jmx.MessageProducer.send method is 
> exposed in the qpid implementation 
> (org.apache.qpid.client.BasicMessageProducer). However, it doesn't actually 
> have any impact under the covers i.e. it is currently ignored and has no 
> effect. Thus we do not provide any way to expedite messages using the 
> priority field.
> This is clearly less than optimal and needs to be addressed. The setting the 
> priority flag on the send method should set the JMSPriority field in the 
> header. The information below is taken from the JMS specification (see spec 
> for refs/more detail):
> The JMSPriority header field contains the message's priority. When a message 
> is sent, this field is ignored. After completion of the send, it
> holds the value specified by the method sending the message. JMS defines a 
> ten-level priority value, with 0 as the lowest priority and 9 as the
> highest. In addition, clients should consider priorities 0-4 as gradations of 
> normal priority and priorities 5-9 as gradations of expedited priority.
> JMS does not require that a provider strictly implement priority ordering of 
> messages; however, it should do its best to deliver expedited messages ahead 
> of normal messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to