spring-projects/spring-integration — pull request #1160 by artembilan (2014-05-19 12:45:00+00:00)
Title: INT-3386: Add `GroupMetadataAggregator`

JIRA: https://jira.spring.io/browse/INT-3386

* Add `GroupMetadataAggregatingMessageHandler` and `MessageGroupExpressionReleaseStrategy`
* Introduce internal `MessageGroupProxy` with Lazy-Load for `messages` and `Collection` implementation to get deal with SpEL projections
* Change `AggregatorParser` to get deal with `$useGroupMetadataAggregatorHandler$` fake bean,
to replace `AggregatingMessageHandler` with `GroupMetadataAggregatingMessageHandler`
and `ExpressionEvaluatingReleaseStrategy` with `MessageGroupExpressionReleaseStrategy`
* Add to test configs `$useGroupMetadataAggregatorHandler$` fake bean
* Implement for `MGS`s methods: `getGroupMetadata`, `getOneMessageFromGroup`, `addMessageToGroupMetadata`

TODO
* There is still need to invent how to get deal with `MethodInvokingReleaseStrategy`, because `MessagingMethodInvokerHelper` can process only
`Message` or `Collection>`, but avoid eager `messages` fetching we should have something for `MessageGroup`