Spring Integration

org.springframework.integration.aggregator
Class AbstractAggregatingMessageGroupProcessor

java.lang.Object
  extended by org.springframework.integration.aggregator.AbstractAggregatingMessageGroupProcessor
All Implemented Interfaces:
MessageGroupProcessor
Direct Known Subclasses:
DefaultAggregatingMessageGroupProcessor, ExpressionEvaluatingMessageGroupProcessor, MethodInvokingMessageGroupProcessor

public abstract class AbstractAggregatingMessageGroupProcessor
extends Object
implements MessageGroupProcessor

Base class for MessageGroupProcessor implementations that aggregate the group of Messages into a single Message.

Since:
2.0
Author:
Iwein Fuld, Alexander Peters, Mark Fisher, Dave Syer

Constructor Summary
AbstractAggregatingMessageGroupProcessor()
           
 
Method Summary
protected  Map<String,Object> aggregateHeaders(MessageGroup group)
          This default implementation simply returns all headers that have no conflicts among the group.
protected abstract  Object aggregatePayloads(MessageGroup group, Map<String,Object> defaultHeaders)
           
 Object processMessageGroup(MessageGroup group)
          Process the given MessageGroup.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAggregatingMessageGroupProcessor

public AbstractAggregatingMessageGroupProcessor()
Method Detail

processMessageGroup

public final Object processMessageGroup(MessageGroup group)
Description copied from interface: MessageGroupProcessor
Process the given MessageGroup. Implementations are free to return as few or as many messages based on the invocation as needed. For example an aggregating processor will return only a single message representing the group, while a resequencing processor will return all messages whose preceding sequence has been satisfied.

Specified by:
processMessageGroup in interface MessageGroupProcessor

aggregateHeaders

protected Map<String,Object> aggregateHeaders(MessageGroup group)
This default implementation simply returns all headers that have no conflicts among the group. An absent header on one or more Messages within the group is not considered a conflict. Subclasses may override this method with more advanced conflict-resolution strategies if necessary.


aggregatePayloads

protected abstract Object aggregatePayloads(MessageGroup group,
                                            Map<String,Object> defaultHeaders)

Spring Integration

Copyright © 2010. All Rights Reserved.