@ManagedResource @IntegrationManagedResource public abstract class AbstractMessageRouter extends AbstractMessageHandler implements MessageRouter
IntegrationManagement.ManagementOverrides
EXPRESSION_PARSER, logger
METER_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, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, 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
getComponentName
public 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 MessageRouter
public 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()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class AbstractMessageHandler
protected MessagingTemplate getMessagingTemplate()
MessagingTemplate
access for subclassesprotected org.springframework.core.convert.ConversionService getRequiredConversionService()
protected void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class AbstractMessageHandler
java.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