public class ErrorMessageExceptionTypeRouter extends AbstractMappingMessageRouter
MessageChannel
for
messages whose payload is a Throwable
.
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.
IntegrationManagement.ManagementOverrides
EXPRESSION_PARSER, logger
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
ErrorMessageExceptionTypeRouter() |
Modifier and Type | Method and Description |
---|---|
protected List<Object> |
getChannelKeys(Message<?> message)
Subclasses must implement this method to return the channel keys.
|
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
removeChannelMapping(String key)
Remove a channel mapping for the given key if present.
|
void |
replaceChannelMappings(Properties channelMappings)
Convenience method allowing conversion of a list
of mappings in a control-bus message.
|
void |
setChannelMapping(String key,
String channelName)
Add a channel mapping from the provided key to channel name.
|
void |
setChannelMappings(Map<String,String> channelMappings)
Provide mappings from channel keys to channel names.
|
determineTargetChannels, getChannelMappings, getDynamicChannelNames, setChannelKeyFallback, setDynamicChannelLimit, setPrefix, setResolutionRequired, setSuffix
getComponentType, getDefaultOutputChannel, getMessagingTemplate, getRequiredConversionService, handleMessageInternal, setApplySequence, setDefaultOutputChannel, setDefaultOutputChannelName, setIgnoreSendFailures, setSendTimeout
configureMetrics, destroy, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMetricsCaptor, getMinDuration, getOrder, getOverrides, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, onComplete, onError, onNext, onSubscribe, registerMetricsCaptor, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, 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
errorCount, handleCount
getBeanName, getComponentName
@ManagedAttribute public void setChannelMappings(Map<String,String> channelMappings)
AbstractMappingMessageRouter
DestinationResolver
.setChannelMappings
in interface MappingMessageRouterManagement
setChannelMappings
in class AbstractMappingMessageRouter
channelMappings
- The channel mappings.@ManagedOperation public void setChannelMapping(String key, String channelName)
AbstractMappingMessageRouter
setChannelMapping
in interface MappingMessageRouterManagement
setChannelMapping
in class AbstractMappingMessageRouter
key
- The key.channelName
- The channel name.@ManagedOperation public void removeChannelMapping(String key)
AbstractMappingMessageRouter
removeChannelMapping
in interface MappingMessageRouterManagement
removeChannelMapping
in class AbstractMappingMessageRouter
key
- The key.@ManagedOperation public void replaceChannelMappings(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()
IntegrationObjectSupport
onInit
in class AbstractMessageRouter
protected List<Object> getChannelKeys(Message<?> message)
AbstractMappingMessageRouter
getChannelKeys
in class AbstractMappingMessageRouter
message
- The message.