org.springframework.integration.router
Class RootCauseErrorMessageRouter

java.lang.Object
  extended by org.springframework.integration.router.AbstractRoutingMessageHandler
      extended by org.springframework.integration.router.SingleChannelRouter
          extended by org.springframework.integration.router.RootCauseErrorMessageRouter
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, ChannelRegistryAware, MessageHandler

public class RootCauseErrorMessageRouter
extends SingleChannelRouter

A router implementation that resolves the 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.

Author:
Mark Fisher

Nested Class Summary
private  class RootCauseErrorMessageRouter.RootCauseResolver
           
 
Field Summary
private  java.util.Map<java.lang.Class<? extends java.lang.Throwable>,MessageChannel> channelMappings
           
private  MessageChannel defaultChannel
           
 
Fields inherited from class org.springframework.integration.router.AbstractRoutingMessageHandler
logger
 
Constructor Summary
RootCauseErrorMessageRouter()
           
 
Method Summary
 void setChannelMappings(java.util.Map<java.lang.Class<? extends java.lang.Throwable>,MessageChannel> channelMappings)
           
 void setDefaultChannel(MessageChannel defaultChannel)
           
 
Methods inherited from class org.springframework.integration.router.SingleChannelRouter
resolveChannels, setChannelNameResolver, setChannelResolver, validate
 
Methods inherited from class org.springframework.integration.router.AbstractRoutingMessageHandler
afterPropertiesSet, getChannelRegistry, handle, setChannelRegistry, setResolutionRequired, setTimeout
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

channelMappings

private java.util.Map<java.lang.Class<? extends java.lang.Throwable>,MessageChannel> channelMappings

defaultChannel

private MessageChannel defaultChannel
Constructor Detail

RootCauseErrorMessageRouter

public RootCauseErrorMessageRouter()
Method Detail

setChannelMappings

public void setChannelMappings(java.util.Map<java.lang.Class<? extends java.lang.Throwable>,MessageChannel> channelMappings)

setDefaultChannel

public void setDefaultChannel(MessageChannel defaultChannel)