I am currently using Apache Camel
I am unsure how to determine when the aggregation is complete in the following case.
We know how many messages come in, if we didn't filter the aggregator could just wait for that many messages
Here are some of my ideas, I don't really like any of them
See the composed message processor with splitter only example
If you use a filter, then the filter set a property on the exchange if the exchange was filterered or not. You can then use that information in the aggregation strategy to know if you want to merge that message into that single result message.
See the knowing if exchange was filterered or not at