On Fri, Mar 8, 2013 at 8:18 PM, Tim Pierce <timpiercej...@gmail.com> wrote: > There is a bug - at least I assume it not desired functionality where if > you have more than one completion of which .completionFromBatchConsumer() > is one of them > > if Exchange property CamelBatchSize is 2505 and .completionSize( ) is 1000 > > you would like batches of > > 1000 - compeltionSize > 1000 - completionSize > 505 - batchCompletion > > but actually this will never happen, this is because the batch-counter > AtomicInteger does not get updated if a different completion occurs, so in > the above example > the counter will finish at 2503 and never reach 2505, because each time the > completionSize occured the method quit > > it could be easily remedied by moving the onCompletionBatch section of the > method > > AggregateProcessor: isCompleted(String key, Exchange exchange) > > to the top of the method instead of the bottom. > > batchConsumerCounter is the thing that doesnt get updated if another > compeltion occurs > > I'd be happy to code this and submit it, but not sure if that sioluition > fits with your existing ideas about the module. It looks fairly obvivously > like a bug to me... if you guys are happy with that. > sorry not written a test-case
Hi The completionFromBatchConsumer option is intended to be used as the only completion if we route from a batch consumer, and want to aggregate and complete that batch. Combining that completion with the other completions was not intended originally. But I can see your use-case. And if we can support that as well, then that would be fine. Fell free to log a JIRA and work on a patch. And adding an unit test to cover this use-case would be great. http://camel.apache.org/contributing.html -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: cib...@redhat.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen