public class ScatterGatherHandler extends AbstractReplyProducingMessageHandler implements Lifecycle
MessageHandler
implementation for the
Scatter-Gather EIP pattern.AbstractReplyProducingMessageHandler.RequestHandler
IntegrationManagement.ManagementOverrides
messagingTemplate
EXPRESSION_PARSER, logger
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
ScatterGatherHandler(MessageChannel scatterChannel,
MessageHandler gatherer) |
ScatterGatherHandler(MessageHandler scatterer,
MessageHandler gatherer) |
Modifier and Type | Method and Description |
---|---|
protected void |
doInit() |
protected Object |
handleRequestMessage(Message<?> requestMessage)
Subclasses must implement this method to handle the request Message.
|
boolean |
isRunning() |
void |
setErrorChannelName(String errorChannelName)
Specify a
MessageChannel bean name for async error processing. |
void |
setGatherChannel(MessageChannel gatherChannel) |
void |
setGatherTimeout(long gatherTimeout) |
void |
start() |
void |
stop() |
doInvokeAdvisedRequestHandler, getBeanClassLoader, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReply
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeaders
configureMetrics, destroy, getActiveCount, getActiveCountLong, getComponentType, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMetricsCaptor, getMinDuration, getOrder, getOverrides, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, onComplete, onError, onNext, onSubscribe, registerMetricsCaptor, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
errorCount, handleCount
getBeanName, getComponentName
public ScatterGatherHandler(MessageHandler scatterer, MessageHandler gatherer)
public ScatterGatherHandler(MessageChannel scatterChannel, MessageHandler gatherer)
public void setGatherChannel(MessageChannel gatherChannel)
public void setGatherTimeout(long gatherTimeout)
public void setErrorChannelName(String errorChannelName)
MessageChannel
bean name for async error processing.
Defaults to IntegrationContextUtils.ERROR_CHANNEL_BEAN_NAME
.errorChannelName
- the MessageChannel
bean name for async error processing.protected void doInit()
doInit
in class AbstractReplyProducingMessageHandler
protected Object handleRequestMessage(Message<?> requestMessage)
AbstractReplyProducingMessageHandler
handleRequestMessage
in class AbstractReplyProducingMessageHandler
requestMessage
- The request message.null
.