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

William Tam commented on CAMEL-1159:
------------------------------------

I found that BatchProcessor did not implement the support for "outBatchSize" 
properly.  I applied a fix and method in question (Aggregator.isBatchCompleted) 
is not needed as a result.  Basically, the isInBatchCompleted() checks for 
whether the in queue should be drained to the out collection based on the 
batchSize parameter.  I added a method "isOutBatchCompleted()" to check whether 
the out collection should be sent based on the outBatchSize parameter.

> Check the logic in Aggregator.isBatchCompleted()
> ------------------------------------------------
>
>                 Key: CAMEL-1159
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1159
>             Project: Apache Camel
>          Issue Type: Task
>          Components: camel-core
>            Reporter: William Tam
>            Assignee: William Tam
>             Fix For: 2.0.0
>
>
> Understand the logic of this method and also see if the protected method 
> getCollection() is really needed (or getCollectionSize() is suffice).  The 
> reason being supporting the getCollection() method may constraint the 
> BatchProcessor class to implement less efficient algorithm.
> {code}
>     @Override
>     protected boolean isBatchCompleted(int index) {
>         if (aggregationCompletedPredicate != null) {
>             // TODO: (davsclaus) What is the point with this code? I think 
> its wrong
>             if (getCollection().size() > 0) {
>                 return true;
>             }
>         }
>         return super.isBatchCompleted(index);
>     }
> {code}

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