public abstract class AbstractAggregatingMessageGroupProcessor extends Object implements MessageGroupProcessor, BeanFactoryAware
Constructor and Description |
---|
AbstractAggregatingMessageGroupProcessor() |
Modifier and Type | Method and Description |
---|---|
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) |
protected java.util.function.Function<MessageGroup,Map<String,Object>> |
getHeadersFunction() |
protected MessageBuilderFactory |
getMessageBuilderFactory() |
Object |
processMessageGroup(MessageGroup group)
Process the given MessageGroup.
|
void |
setBeanFactory(BeanFactory beanFactory) |
void |
setHeadersFunction(java.util.function.Function<MessageGroup,Map<String,Object>> headersFunction)
Specify a
Function to map MessageGroup into composed headers for output message. |
protected final Log logger
public AbstractAggregatingMessageGroupProcessor()
public void setBeanFactory(BeanFactory beanFactory) throws BeansException
setBeanFactory
in interface BeanFactoryAware
BeansException
public void setHeadersFunction(java.util.function.Function<MessageGroup,Map<String,Object>> headersFunction)
Function
to map MessageGroup
into composed headers for output message.headersFunction
- the Function
to use.protected java.util.function.Function<MessageGroup,Map<String,Object>> getHeadersFunction()
protected MessageBuilderFactory getMessageBuilderFactory()
public final Object processMessageGroup(MessageGroup group)
MessageGroupProcessor
If a multiple messages are returned the return value must be a Collection<Message>.
processMessageGroup
in interface MessageGroupProcessor
group
- The message group.protected Map<String,Object> aggregateHeaders(MessageGroup group)
group
- The message group.protected abstract Object aggregatePayloads(MessageGroup group, Map<String,Object> defaultHeaders)