public class DelegatingMessageGroupProcessor extends java.lang.Object implements MessageGroupProcessor, org.springframework.beans.factory.BeanFactoryAware, org.springframework.context.Lifecycle
MessageGroupProcessor implementation with delegation to the provided delegate
and optional aggregation for headers.
Unlike AbstractAggregatingMessageGroupProcessor this processor checks a result
of the delegate call and aggregates headers into the output only
if the result is not a Message or AbstractIntegrationMessageBuilder.
This processor is used internally for wrapping provided non-standard MessageGroupProcessor
when a aggregate headers Function is provided.
For POJO method invoking or SpEL expression evaluation it is recommended to use an
AbstractAggregatingMessageGroupProcessor implementations.
| Constructor and Description |
|---|
DelegatingMessageGroupProcessor(MessageGroupProcessor delegate,
java.util.function.Function<MessageGroup,java.util.Map<java.lang.String,java.lang.Object>> headersFunction) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
isRunning() |
java.lang.Object |
processMessageGroup(MessageGroup group)
Process the given MessageGroup.
|
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
void |
start() |
void |
stop() |
public DelegatingMessageGroupProcessor(MessageGroupProcessor delegate, java.util.function.Function<MessageGroup,java.util.Map<java.lang.String,java.lang.Object>> headersFunction)
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
throws org.springframework.beans.BeansException
setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAwareorg.springframework.beans.BeansExceptionpublic java.lang.Object processMessageGroup(MessageGroup group)
MessageGroupProcessorIf a multiple messages are returned the return value must be a Collection<Message>.
processMessageGroup in interface MessageGroupProcessorgroup - The message group.public void start()
start in interface org.springframework.context.Lifecyclepublic void stop()
stop in interface org.springframework.context.Lifecyclepublic boolean isRunning()
isRunning in interface org.springframework.context.Lifecycle