You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org> on 2008/08/12 12:32:44 UTC
[jira] Commented: (QPID-26) Provide prority parameter
implementation for message MessageProducer.send method
[ 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.