Creating a Java bean as the aggregation strategy - 7.3

Aggregate (Mediation)

Version
7.3
Language
English
Product
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
Data Governance > Third-party systems > Routing components (Mediation) > Aggregate components (Mediation)
Data Quality and Preparation > Third-party systems > Routing components (Mediation) > Aggregate components (Mediation)
Design and Development > Third-party systems > Routing components (Mediation) > Aggregate components (Mediation)
Last publication date
2023-06-12

About this task

To aggregate the messages, we will use a Java bean that will help us build an aggregation strategy.

Procedure

  1. From the repository tree view, expand the Code node and right click the Beans node. In the contextual menu, select Create Bean.
  2. The New Bean wizard opens. In the Name field, type in a name for the bean, for example, AggregateBody. Click Finish to close the wizard.
  3. Type in the codes as shown in the figure below. In this use case, we just want to aggregate all messages into a single message.
    package beans;
    
    import org.apache.camel.Exchange;
    import org.apache.camel.processor.aggregate.AggregationStrategy;
    
    public class AggregateBody 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+newBody);
    		return newEx;
    	}
    }
  4. Press Ctrl+S to save your bean.