I'm trying to use the SI aggregator. Here is my configuration:
<aggregator id="aggId" input-channel="aggregatorChannel" output-channel="aggregatedChannel" ref="myAggregator" method="aggregate"
completion-strategy="myStrategy" completion-strategy-method="checkCompleteness" timeout="20000" send-partial-result-on-timeout="true" send-timeout="1000000" />
In the checkCompleteness method, I return true if the size of the list is greater than 20 (ie: the aggregation is done when 20 received are received or after a timeout of 20 sec).
The aggregate method simply puts all the messages to be aggregated in one message and returns it.
I did a test by sending to the input channel 100 messages and I have noticed that the aggregator aggregates many times the same group of messages: logs showed that this aggregation is done each time by a different thread.
After a group of message is aggregated first time, logs also showed that there is no message (with same correlation id as this group) is received.
I believe I did some thing wrong in my config
Thanks in advance for your help!