[
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.