| Class || |
The Streaming Aggregator is an improved version of the message aggregation action. Unlike the previous aggregator, the streaming aggregator does not require all messages to have complete aggregation details - messages must have the message order number and a unique aggregation id, but all messages do not need to specify how many messages will be aggregated in each message. The number of messages aggregated can be sent in a subsequent message, which is a performance improvement when dealing with extremely large files which need to be line counted or parse, or Smooks fragments which need to be split.
Data is set on the message as a property called "Aggregate.AggregateDetails" which sets should contain a
The data has the following format:
[SeriesUUID] ":" [message-sequence] ":" [sequence-count]
If all the messages have been received by the Streaming Aggregator, it returns a new Message containing all the messages as part of the Message.Attachment list (unnamed), otherwise the action returns null.
Table 13.18. Aggregator Properties
| Property || Description || Required |
| timeoutInMillis || |
Timeout time in milliseconds before the aggregation process times out.
| No |
<action class="org.jboss.soa.esb.actions.StreamingAggregator" name="Aggregator">
<property name="timeoutInMillies" value="60000"/>