public class ResequencingMessageHandler extends AbstractCorrelatingMessageHandler
AbstractCorrelatingMessageHandler.
Will remove MessageGroups only if 'sequenceSize' is provided and reached.AbstractCorrelatingMessageHandler.SequenceAwareMessageGroupDEFAULT_SEND_TIMEOUT, messageStoremessagingTemplateHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| Constructor and Description |
|---|
ResequencingMessageHandler(MessageGroupProcessor processor) |
ResequencingMessageHandler(MessageGroupProcessor processor,
MessageGroupStore store) |
ResequencingMessageHandler(MessageGroupProcessor processor,
MessageGroupStore store,
CorrelationStrategy correlationStrategy,
ReleaseStrategy releaseStrategy) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
afterRelease(MessageGroup messageGroup,
Collection<Message<?>> completedMessages)
Allows you to provide additional logic that needs to be performed after the MessageGroup was released.
|
protected void |
afterRelease(MessageGroup messageGroup,
Collection<Message<?>> completedMessages,
boolean timeout)
Subclasses may override if special action is needed because the group was released or discarded
due to a timeout.
|
void |
setExpireGroupsUponTimeout(boolean expireGroupsUponTimeout)
Expire (completely remove) a group if it is completed due to timeout.
|
completeGroup, completeGroup, destroy, expireGroup, findLastReleasedSequenceNumber, forceComplete, getComponentType, getCorrelationStrategy, getDiscardChannel, getDiscardChannelName, getEvaluationContext, getExpireGroupScheduledFutures, getGroupTimeoutExpression, getLockRegistry, getMessageStore, getMinimumTimeoutForEmptyGroups, getOutputProcessor, getReleaseStrategy, handleMessageInternal, isLockRegistrySet, isReleasePartialSequences, isSendPartialResultOnExpiry, isSequenceAware, obtainGroupTimeout, onInit, setApplicationEventPublisher, setCorrelationStrategy, setDiscardChannel, setDiscardChannelName, setForceReleaseAdviceChain, setGroupTimeoutExpression, setIntegrationEvaluationContext, setLockRegistry, setMessageStore, setMinimumTimeoutForEmptyGroups, setReleasePartialSequences, setReleaseStrategy, setSendPartialResultOnExpiry, setTaskScheduler, store, verifyResultCollectionConsistsOfMessagesgetOutputChannel, produceOutput, sendOutputs, setChannelResolver, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutputgetOrder, handleMessage, setOrder, setShouldTrackafterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setConversionService, setMessageBuilderFactory, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetComponentNamepublic ResequencingMessageHandler(MessageGroupProcessor processor, MessageGroupStore store, CorrelationStrategy correlationStrategy, ReleaseStrategy releaseStrategy)
public ResequencingMessageHandler(MessageGroupProcessor processor, MessageGroupStore store)
public ResequencingMessageHandler(MessageGroupProcessor processor)
public void setExpireGroupsUponTimeout(boolean expireGroupsUponTimeout)
setExpireGroupsUponTimeout in class AbstractCorrelatingMessageHandlerexpireGroupsUponTimeout - the expireGroupsUponTimeout to setprotected void afterRelease(MessageGroup messageGroup, Collection<Message<?>> completedMessages)
AbstractCorrelatingMessageHandlerafterRelease in class AbstractCorrelatingMessageHandlermessageGroup - The group.completedMessages - The completed messages.protected void afterRelease(MessageGroup messageGroup, Collection<Message<?>> completedMessages, boolean timeout)
AbstractCorrelatingMessageHandlerAbstractCorrelatingMessageHandler.afterRelease(MessageGroup, Collection) is invoked.afterRelease in class AbstractCorrelatingMessageHandlermessageGroup - The group.completedMessages - The completed messages.timeout - True if the release/discard was due to a timeout.