org.springframework.integration.aggregator
Class DefaultMessageAggregator

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.handler.AbstractMessageHandler
          extended by org.springframework.integration.aggregator.AbstractMessageBarrierHandler<java.util.List<Message<?>>>
              extended by org.springframework.integration.aggregator.AbstractMessageAggregator
                  extended by org.springframework.integration.aggregator.DefaultMessageAggregator
All Implemented Interfaces:
org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, MessageProducer, MessageHandler, ComponentMetadataProvider

public class DefaultMessageAggregator
extends AbstractMessageAggregator

The Default Message Aggregator implementation that combines a group of messages into a single message containing a List of all payloads. The elements of the List are in order of their receiving. Any MessageHeader value is ignored except the correlationId.

The default strategy for determining whether a group is complete is based on the 'sequenceSize' property of the header. Alternatively, a custom implementation of the CompletionStrategy may be provided.

All considerations regarding timeout and grouping by correlationId from AbstractMessageBarrierHandler apply here as well.

Since:
1.0.3
Author:
Alex Peters

Field Summary
 
Fields inherited from class org.springframework.integration.aggregator.AbstractMessageBarrierHandler
barriers, DEFAULT_REAPER_INTERVAL, DEFAULT_SEND_TIMEOUT, DEFAULT_TIMEOUT, DEFAULT_TRACKED_CORRRELATION_ID_CAPACITY, logger, trackedCorrelationIds
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
DefaultMessageAggregator()
           
 
Method Summary
protected  Message<?> aggregateMessages(java.util.List<Message<?>> messages)
          
 
Methods inherited from class org.springframework.integration.aggregator.AbstractMessageAggregator
createMessageBarrier, populateComponentMetadata, processBarrier, setCompletionStrategy
 
Methods inherited from class org.springframework.integration.aggregator.AbstractMessageBarrierHandler
canAddMessage, discardBarrier, handleMessageInternal, isRunning, onInit, removeBarrier, resolveReplyChannelFromMessage, sendReplies, sendReply, setAutoStartup, setCorrelationStrategy, setDiscardChannel, setOutputChannel, setReaperInterval, setSendPartialResultOnTimeout, setSendTimeout, setTaskScheduler, setTimeout, setTrackedCorrelationIdCapacity, start, stop
 
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
getOrder, handleMessage, resolveReplyChannel, setOrder
 
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, getBeanFactory, getBeanName, getChannelResolver, getComponentMetadata, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setChannelResolver, setConversionService, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.BeanFactoryAware
setBeanFactory
 
Methods inherited from interface org.springframework.beans.factory.InitializingBean
afterPropertiesSet
 

Constructor Detail

DefaultMessageAggregator

public DefaultMessageAggregator()
Method Detail

aggregateMessages

protected Message<?> aggregateMessages(java.util.List<Message<?>> messages)

Specified by:
aggregateMessages in class AbstractMessageAggregator