[ 
https://issues.apache.org/activemq/browse/CAMEL-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47952#action_47952
 ] 

William Tam commented on CAMEL-1037:
------------------------------------

The resequencer seems to be working properly.  I wonder the during the sending 
from activemq.queue:out to mock:result could mess up the message order?  If I 
change the routes to forward output of the resequencer directly to mock:result, 
it still verifies the working of the resequencer and tests pass.

{code}
 
from("activemq:queue:in1").resequence().body().batch().size(100).timeout(10000L).to("mock:result");
 
from("activemq:queue:in2").resequence().header("num").stream().timeout(2000L).to("mock:result");
{code}

One question on the patch:  The BatchSender uses a private queue to buffer 
incoming messages.   The queue is drained to the "collection" until the batch 
of messages should be sent.  My concern is that the protected method 
getCollection() can fool the caller thinking the batch is empty.  I don't know 
if getCollection() is really needed, though.  It is only referenced by 
Aggregator to read the size of the collection.   

> Messages in Resequencer between 2 JMS queues get stuck
> ------------------------------------------------------
>
>                 Key: CAMEL-1037
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1037
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.5.0
>            Reporter: Jonathan Anstey
>            Assignee: William Tam
>         Attachments: camel-1.x.patch, camel-2.0.patch
>
>
> Martin describes the issue as follows in CAMEL-1034:
> "The issue with the regular resequencer (the one that extends the 
> BatchProcessor) remains because the process(Exchange) method is empty. In 
> addition to the BatchProcessor's polling consumer, an additional JmsConsumer 
> is created by the JMS endpoint that competes with the polling consumer. The 
> JmsConsumer then calls the empty process(Exchange) method and the exchange is 
> lost."

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