public class ResequencingMessageHandler extends AbstractCorrelatingMessageHandler
AbstractCorrelatingMessageHandler
.
Will remove MessageGroup
s only if 'sequenceSize' is provided and reached.AbstractCorrelatingMessageHandler.SequenceAwareMessageGroup
messageStore
messagingTemplate
HIGHEST_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, verifyResultCollectionConsistsOfMessages
getOutputChannel, produceOutput, sendOutputs, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput
configureMetrics, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
public 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 AbstractCorrelatingMessageHandler
expireGroupsUponTimeout
- the expireGroupsUponTimeout to setprotected void afterRelease(MessageGroup messageGroup, Collection<Message<?>> completedMessages)
AbstractCorrelatingMessageHandler
afterRelease
in class AbstractCorrelatingMessageHandler
messageGroup
- The group.completedMessages
- The completed messages.protected void afterRelease(MessageGroup messageGroup, Collection<Message<?>> completedMessages, boolean timeout)
AbstractCorrelatingMessageHandler
AbstractCorrelatingMessageHandler.afterRelease(MessageGroup, Collection)
is invoked.afterRelease
in class AbstractCorrelatingMessageHandler
messageGroup
- The group.completedMessages
- The completed messages.timeout
- True if the release/discard was due to a timeout.