Using cSplitter to split a message and aggregate replies from sub-messages

Splitter - Mediation

author
Talend Documentation Team
EnrichVersion
6.5
EnrichProdName
Talend Data Services Platform
Talend Open Studio for ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Talend ESB
Talend Data Fabric
task
Data Quality and Preparation > Third-party systems > Routing components (Mediation) > Splitter components (Mediation)
Design and Development > Third-party systems > Routing components (Mediation) > Splitter components (Mediation)
Data Governance > Third-party systems > Routing components (Mediation) > Splitter components (Mediation)
EnrichPlatform
Talend Studio

This scenario applies only to Talend Open Studio for ESB, Talend Data Services Platform and Talend Data Fabric.

For more technologies supported by Talend, see Talend Mediation Components.

In this scenario, we will use the cSplitter component to split a message and aggregate the replies from sub-messages.

A predefined Java Bean, AppendAggregator will be called to as the strategy to aggregate the replies from sub-messages. For more information about creating and using Java beans, see Talend Studio User Guide.

package beans;
import org.apache.camel.Exchange;
import org.apache.camel.processor.aggregate.AggregationStrategy;

public class AppendAggregator implements AggregationStrategy {

	public Exchange aggregate(Exchange oldEx, Exchange newEx) {
		if(oldEx==null){
			return newEx;
		}
		String oldBody = oldEx.getIn().getBody(String.class);
		String newBody = newEx.getIn().getBody(String.class);
		newEx.getIn().setBody(oldBody + "\n" + newBody);
		return newEx;
	}
}