org.springframework.integration.router
Class SingleChannelRouter

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

public class SingleChannelRouter
extends AbstractRoutingMessageHandler

A router implementation for sending to at most one MessageChannel. Requires either a ChannelResolver or ChannelNameResolver strategy instance. In the case of the latter, the ChannelRegistry reference must also be provided. For convenience, the superclass does implement ChannelRegistryAware.

Author:
Mark Fisher

Field Summary
private  ChannelNameResolver channelNameResolver
           
private  ChannelResolver channelResolver
           
 
Fields inherited from class org.springframework.integration.router.AbstractRoutingMessageHandler
logger
 
Constructor Summary
SingleChannelRouter()
           
 
Method Summary
private  MessageChannel resolveChannel(Message<?> message)
           
 java.util.List<MessageChannel> resolveChannels(Message<?> message)
           
 void setChannelNameResolver(ChannelNameResolver channelNameResolver)
           
 void setChannelResolver(ChannelResolver channelResolver)
           
 void 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

channelResolver

private ChannelResolver channelResolver

channelNameResolver

private ChannelNameResolver channelNameResolver
Constructor Detail

SingleChannelRouter

public SingleChannelRouter()
Method Detail

setChannelResolver

public void setChannelResolver(ChannelResolver channelResolver)

setChannelNameResolver

public void setChannelNameResolver(ChannelNameResolver channelNameResolver)

validate

public void validate()
Specified by:
validate in class AbstractRoutingMessageHandler

resolveChannels

public java.util.List<MessageChannel> resolveChannels(Message<?> message)
Specified by:
resolveChannels in class AbstractRoutingMessageHandler

resolveChannel

private MessageChannel resolveChannel(Message<?> message)