Show Table of Contents
13.7.3. Streaming Aggregator
| Class | org.jboss.soa.esb.actions.StreamingAggregator |
This action allows invocation of external (ESB-unaware) HTTP end-points from an ESB action pipeline. This action uses the Apache Commons HttpClient. An implementation of the Aggregator Enterprise Integration Pattern can be viewed here: http://www.enterpriseintegrationpatterns.com/Aggregator.html
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
org.jboss.soa.esb.actions.aggregator.AggregateDetails object.
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"/>
</action>
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.