[ https://issues.apache.org/activemq/browse/CAMEL-2537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=59380#action_59380 ]
Mark You commented on CAMEL-2537: --------------------------------- I don't see any change in batch mode description about unique number, but in stream mode, the wiki says the message should have unique sequence number. I think original problem is resequencer batch mode should support duplicate priority number, otherwise we can't use this pattern to do priority queue. For example: In common sense, we usually define a limit number of priorities: 1, 2, 3, 4, 5 for example. And we just want to sort them based on priority. So there is always duplication in priority in this case. I think the resequencer batch mode should support this case, otherwise it will be uselesss. > Batch Resequencer issues with JMSPriority > ----------------------------------------- > > Key: CAMEL-2537 > URL: https://issues.apache.org/activemq/browse/CAMEL-2537 > Project: Apache Camel > Issue Type: Improvement > Components: camel-core > Affects Versions: 2.0.0 > Reporter: Jeff Sprankle > Assignee: Claus Ibsen > Fix For: 2.3.0 > > > My project uses ActiveMQ and we have a requirement to support priority queues > for one or more of our configured queues. One of the suggestions under the > ActiveMQ FAQ is to use a Resequencer, so I followed the link and applied the > <resequence> element to my XML-based route. While testing this functionality > we uncovered a couple issues that seem like they should be addressed in a > future release of camel-core. > # The JMSPriority header is not a unique field and internally the Resequencer > class uses java.util.Set to collect messages into a batch. This means that a > given batch cannot contain multiple messages with the same JMSPriority. For > example, if I use the default batch config and submit five messages with > JMSPriority=6 to the queue within a second, only one of those message is > delivered to the configured endpoint. > # According to the JMS API, priority has ten values where 0 is the lowest and > 9 is the highest. This means that messages with higher priorities should be > processed before messages with lower priorities. When I configure my > resequencer with <header>JMSPriority</header>, however, it by default orders > the messages within the batch in ascending order which means that messages > with lower priorities are processed first. > If there are any known workarounds to these issues please document them, > because the current Resequencer documentation that uses JMSPriority as an > example is misleading. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.