2017-11-04 22:38:51 +01:00
|
|
|
---
|
|
|
|
layout: pattern
|
|
|
|
title: EIP Aggregator
|
|
|
|
folder: eip-aggregator
|
|
|
|
permalink: /patterns/eip-aggregator/
|
2017-12-25 11:30:24 +02:00
|
|
|
categories: Integration
|
2017-11-04 22:38:51 +01:00
|
|
|
tags:
|
|
|
|
- Java
|
|
|
|
- Difficulty-Intermittent
|
2017-12-25 11:30:24 +02:00
|
|
|
- EIP
|
2017-11-04 22:38:51 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
## Intent
|
|
|
|
Sometimes in enterprise systems there is a need to group incoming data in order to process it as a whole. For example
|
|
|
|
you may need to gather offers and after defined number of offers has been received you would like to choose the one with
|
|
|
|
the best parameters.
|
|
|
|
|
|
|
|
Aggregator allows you to merge messages based on defined criteria and parameters. It gathers original messages,
|
|
|
|
applies aggregation strategy and upon fulfilling given criteria, releasing merged messages.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Applicability
|
|
|
|
Use the Aggregator pattern when
|
|
|
|
|
|
|
|
* You need to combine multiple incoming messages
|
|
|
|
* You want to process grouped data
|
|
|
|
|
|
|
|
## Credits
|
|
|
|
|
|
|
|
* [Gregor Hohpe, Bobby Woolf - Enterprise Integration Patterns](http://www.enterpriseintegrationpatterns.com/patterns/messaging/Aggregator.html)
|
|
|
|
* [Apache Camel - Documentation](http://camel.apache.org/aggregator2.html)
|
|
|
|
|