@ManagedResource @IntegrationManagedResource public abstract class AbstractMessageRouter extends AbstractMessageHandler implements MessageRouter
IntegrationManagement.ManagementOverridesEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| Constructor and Description |
|---|
AbstractMessageRouter() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract java.util.Collection<org.springframework.messaging.MessageChannel> |
determineTargetChannels(org.springframework.messaging.Message<?> message)
Subclasses must implement this method to return a Collection of zero or more
MessageChannels to which the given Message should be routed.
|
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
org.springframework.messaging.MessageChannel |
getDefaultOutputChannel()
Get the default output channel.
|
protected MessagingTemplate |
getMessagingTemplate()
Provides
MessagingTemplate access for subclasses |
protected org.springframework.core.convert.ConversionService |
getRequiredConversionService() |
protected void |
handleMessageInternal(org.springframework.messaging.Message<?> message) |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
setApplySequence(boolean applySequence)
Specify whether to apply the sequence number and size headers to the messages prior to sending to the recipient
channels.
|
void |
setDefaultOutputChannel(org.springframework.messaging.MessageChannel defaultOutputChannel)
Set the default channel where Messages should be sent if channel resolution
fails to return any channels.
|
void |
setDefaultOutputChannelName(java.lang.String defaultOutputChannelName) |
void |
setIgnoreSendFailures(boolean ignoreSendFailures)
Specify whether send failures for one or more of the recipients should be ignored.
|
void |
setSendTimeout(long timeout)
Set the timeout for sending a message to the resolved channel.
|
configureMetrics, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getOverrides, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, onComplete, onError, onNext, onSubscribe, registerMetricsCaptor, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabledafterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetComponentNamepublic void setDefaultOutputChannel(org.springframework.messaging.MessageChannel defaultOutputChannel)
MessageDeliveryException.
If messages shall be ignored (dropped) instead, please provide a NullChannel.
defaultOutputChannel - The default output channel.public org.springframework.messaging.MessageChannel getDefaultOutputChannel()
getDefaultOutputChannel in interface MessageRouterpublic void setDefaultOutputChannelName(java.lang.String defaultOutputChannelName)
public void setSendTimeout(long timeout)
timeout - The timeout.public void setIgnoreSendFailures(boolean ignoreSendFailures)
false meaning that an Exception will be thrown whenever a send fails. To override this and suppress
Exceptions, set the value to true.ignoreSendFailures - true to ignore send failures.public void setApplySequence(boolean applySequence)
false meaning that sequence headers will not be
applied. If planning to use an Aggregator downstream with the default correlation and completion strategies, you
should set this flag to true.applySequence - true to apply sequence information.public java.lang.String getComponentType()
IntegrationObjectSupportgetComponentType in interface NamedComponentgetComponentType in class AbstractMessageHandlerprotected MessagingTemplate getMessagingTemplate()
MessagingTemplate access for subclassesprotected org.springframework.core.convert.ConversionService getRequiredConversionService()
protected void onInit()
throws java.lang.Exception
IntegrationObjectSupportonInit in class AbstractMessageHandlerjava.lang.Exception - Any exception.protected abstract java.util.Collection<org.springframework.messaging.MessageChannel> determineTargetChannels(org.springframework.messaging.Message<?> message)
message - The message.protected void handleMessageInternal(org.springframework.messaging.Message<?> message)
handleMessageInternal in class AbstractMessageHandler