public class ResequencingMessageHandler extends AbstractCorrelatingMessageHandler
AbstractCorrelatingMessageHandler.
Will remove MessageGroups only if 'sequenceSize' is provided and reached.AbstractCorrelatingMessageHandler.SequenceAwareMessageGroupmessagingTemplateEXPRESSION_PARSER| 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,
java.util.Collection<org.springframework.messaging.Message<?>> completedMessages)
Allows you to provide additional logic that needs to be performed after the MessageGroup was released.
|
protected void |
afterRelease(MessageGroup messageGroup,
java.util.Collection<org.springframework.messaging.Message<?>> completedMessages,
boolean timeout)
Subclasses may override if special action is needed because the group was released or discarded
due to a timeout.
|
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
void |
setExpireGroupsUponTimeout(boolean expireGroupsUponTimeout)
Expire (completely remove) a group if it is completed due to timeout.
|
protected boolean |
shouldCopyRequestHeaders()
Subclasses may override this.
|
completeGroup, completeGroup, destroy, expireGroup, findLastReleasedSequenceNumber, forceComplete, 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, verifyResultCollectionConsistsOfMessagesaddNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldSplitOutputconfigureMetrics, 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, setStatsEnabledafterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, 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 final void setExpireGroupsUponTimeout(boolean expireGroupsUponTimeout)
setExpireGroupsUponTimeout in class AbstractCorrelatingMessageHandlerexpireGroupsUponTimeout - the expireGroupsUponTimeout to setpublic java.lang.String getComponentType()
IntegrationObjectSupportgetComponentType in interface NamedComponentgetComponentType in class AbstractCorrelatingMessageHandlerprotected boolean shouldCopyRequestHeaders()
AbstractMessageProducingHandlershouldCopyRequestHeaders in class AbstractMessageProducingHandlerprotected void afterRelease(MessageGroup messageGroup, java.util.Collection<org.springframework.messaging.Message<?>> completedMessages)
AbstractCorrelatingMessageHandlerafterRelease in class AbstractCorrelatingMessageHandlermessageGroup - The group.completedMessages - The completed messages.protected void afterRelease(MessageGroup messageGroup, java.util.Collection<org.springframework.messaging.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.