Hi
Motivated by Claus' nice words :-) and to take a whiff of the Camel code, I
analyzed my own Jira issue CAMEL-7146.
In the method "doAggregation" the aggregator evaluates if the aggregation
is complete. With completionSize = 1 this is the case on every Exchange.
Therefore the aggregator does not persist the Exchanges:
=> complete = "size", therefore every exchange goes in else-case
...
if (complete == null) {
doAggregationRepositoryAdd(newExchange.getContext(), key,
originalExchange, answer);
...
} else {
...
On the other hand does the method "onCompletion" no such evaluation and
tries to delete the Exchange in the Repository. Therefore the NPE.
So, completionSize = 1 is a special case since it basically says "do not
aggregate". This raises the question if Camel should throw an Exception on
context startup