You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2010/03/11 03:35:44 UTC
[jira] Commented: (CAMEL-2537) Batch Resequencer issues with
JMSPriority
[ https://issues.apache.org/activemq/browse/CAMEL-2537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=58161#action_58161 ]
Willem Jiang commented on CAMEL-2537:
-------------------------------------
Do you use camel resequencer to do this job? If so can you show us with your test case.
In this way, we can dig the issue more easily.
> 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
>
> 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.