[ 
https://issues.apache.org/activemq/browse/AMQ-122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phillip Merritt updated AMQ-122:
--------------------------------

    Attachment: activemq-new-files.zip
                priority_patch.txt

We had a need to use priority based queuing for a project I am working on and 
could not wait for 6.0.0 to come out so we created our own priority based 
implementation by modifying activemq-core v5.3.1 checked out from the tags. The 
attached patch file was created using svn diff. Also attached is a zip file of 
new files which were added since I was unsure how to handle new files as a 
patch, if there is a better way let me know and I'll do that. Below is a 
summary of the changes made in the patch in order to enable priority based 
queueing
1) Added a useJmsPriority option to the Broker
2) Added the useJmsPriority parameter to the BrokerInfo class
3) Updated code which was creating BrokerInfo instances to set the 
useJmsPriority
4) Converted MessageDispatchChannel into an Interface
5) Created a new class FifoMessageDispatchChannel which implements 
MessageDispatchChannel and contains the same implementation as was previously 
in MessageDispatchChannel
6) Created a new class PriorityMessageDispatchChannel which contains the newly 
created PrioritizedMessageDispatchChannel. This implementation contains an 
array of priority linkedlists and a current index to the highest priority 
linkedlist. So messages are dequeued from the highest priority linked list with 
messages and enqueued to the linked list which corresponds to the priority in 
the message.
7) Created a MessageDispatchChannelFactory which returns the appropriate 
MessageDispatchChannel dependent upon the value of the useJmsPriority parameter
8) Updated ActiveMQConnection and ActiveMQSession to only override the message 
priority when useJmsPriority is false or the message priority is not set.
9) Added a new unit test JmsPriorityTest in order to test priority ordering

> add support for priority message ordering
> -----------------------------------------
>
>                 Key: AMQ-122
>                 URL: https://issues.apache.org/activemq/browse/AMQ-122
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: JMS client
>    Affects Versions: 4.0
>         Environment: Solaris 8, Linux, Windows , Java 1.4.2
>            Reporter: Etienne Araya
>            Assignee: Ramzi Saba
>             Fix For: 6.0.0
>
>         Attachments: activemq-new-files.zip, priority_patch.txt
>
>   Original Estimate: 8 hours
>  Remaining Estimate: 8 hours
>
> messages with higher priority is not consumed first
> ActiveMQ doesn't yet support priorities.
> messages with greater priority are not consumed first but that are consumed 
> in the arrival order.

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