public class ErrorMessageExceptionTypeRouter extends AbstractMappingMessageRouter
MessageChannel
for
messages whose payload is an Exception. The channel resolution is based upon
the most specific cause of the error for which a channel-mapping exists.
The channel-mapping can be specified for the super classes to avoid mapping duplication for the particular exception implementation.
channelMappings
EXPRESSION_PARSER, logger
Constructor and Description |
---|
ErrorMessageExceptionTypeRouter() |
Modifier and Type | Method and Description |
---|---|
protected java.util.List<java.lang.Object> |
getChannelKeys(org.springframework.messaging.Message<?> message)
Subclasses must implement this method to return the channel keys.
|
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
removeChannelMapping(java.lang.String key)
Remove a channel mapping for the given key if present.
|
void |
replaceChannelMappings(java.util.Properties channelMappings)
Convenience method allowing conversion of a list
of mappings in a control-bus message.
|
void |
setChannelMapping(java.lang.String key,
java.lang.String channelName)
Add a channel mapping from the provided key to channel name.
|
void |
setChannelMappings(java.util.Map<java.lang.String,java.lang.String> channelMappings)
Provide mappings from channel keys to channel names.
|
determineTargetChannels, getChannelMappings, getDynamicChannelNames, setDynamicChannelLimit, setPrefix, setResolutionRequired, setSuffix
getComponentType, getDefaultOutputChannel, getMessagingTemplate, getRequiredConversionService, handleMessageInternal, setApplySequence, setDefaultOutputChannel, setDefaultOutputChannelName, setIgnoreSendFailures, setSendTimeout, setTimeout
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, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
@ManagedAttribute public void setChannelMappings(java.util.Map<java.lang.String,java.lang.String> channelMappings)
AbstractMappingMessageRouter
DestinationResolver
.setChannelMappings
in interface MappingMessageRouterManagement
setChannelMappings
in class AbstractMappingMessageRouter
channelMappings
- The channel mappings.@ManagedOperation public void setChannelMapping(java.lang.String key, java.lang.String channelName)
AbstractMappingMessageRouter
setChannelMapping
in interface MappingMessageRouterManagement
setChannelMapping
in class AbstractMappingMessageRouter
key
- The key.channelName
- The channel name.@ManagedOperation public void removeChannelMapping(java.lang.String key)
AbstractMappingMessageRouter
removeChannelMapping
in interface MappingMessageRouterManagement
removeChannelMapping
in class AbstractMappingMessageRouter
key
- The key.@ManagedOperation public void replaceChannelMappings(java.util.Properties channelMappings)
AbstractMappingMessageRouter
This is intended to be called via a control-bus; keys and values that are not Strings will be ignored.
Mappings must be delimited with newlines, for example:
"@'myRouter.handler'.replaceChannelMappings('foo=qux \n baz=bar')"
.
replaceChannelMappings
in interface MappingMessageRouterManagement
replaceChannelMappings
in class AbstractMappingMessageRouter
channelMappings
- The channel mappings.protected void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class AbstractMessageRouter
java.lang.Exception
- Any exception.protected java.util.List<java.lang.Object> getChannelKeys(org.springframework.messaging.Message<?> message)
AbstractMappingMessageRouter
getChannelKeys
in class AbstractMappingMessageRouter
message
- The message.