org.mule.routing.outbound
Class AbstractRecipientList

java.lang.Object
  extended byorg.mule.routing.AbstractRouter
      extended byorg.mule.routing.outbound.AbstractOutboundRouter
          extended byorg.mule.routing.outbound.FilteringOutboundRouter
              extended byorg.mule.routing.outbound.AbstractRecipientList
All Implemented Interfaces:
UMOOutboundRouter, UMORouter
Direct Known Subclasses:
StaticRecipientList

public abstract class AbstractRecipientList
extends FilteringOutboundRouter

AbstractRecipientList is used to dispatch a single event to multiple recipients over the same transport. The recipient endpoints can be configured statically or can be obtained from the message payload.


Field Summary
protected  Log logger
          logger used by this class
 
Fields inherited from class org.mule.routing.outbound.AbstractOutboundRouter
ENABLE_CORRELATION_ALWAYS, ENABLE_CORRELATION_IF_NOT_SET, ENABLE_CORRELATION_NEVER, enableCorrelation, endpoints, propertyExtractor, replyTo, transactionConfig
 
Constructor Summary
AbstractRecipientList()
           
 
Method Summary
protected  UMOEndpoint getRecipientEndpoint(UMOMessage message, String recipient)
           
protected abstract  List getRecipients(UMOMessage message)
           
 boolean isDynamicEndpoints()
          Determines whether this router supports dynamic endpoint.
 UMOMessage route(UMOMessage message, UMOSession session, boolean synchronous)
          This method is responsible for routing the Message via the Session.
 
Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter
addEndpoint, getEndpoint, getFilter, getTransformer, isMatch, isUseTemplates, setFilter, setTransformer, setUseTemplates
 
Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter
dispatch, getEnableCorrelation, getEndpoints, getPropertyExtractor, getReplyTo, getTransactionConfig, removeEndpoint, send, setEnableCorrelation, setEnableCorrelationAsString, setEndpoints, setMessageProperties, setPropertyExtractor, setPropertyExtractorAsString, setReplyTo, setTransactionConfig
 
Methods inherited from class org.mule.routing.AbstractRouter
getRouterStatistics, setRouterStatistics
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mule.umo.routing.UMORouter
getRouterStatistics, setRouterStatistics
 

Field Detail

logger

protected final Log logger
logger used by this class

Constructor Detail

AbstractRecipientList

public AbstractRecipientList()
Method Detail

route

public UMOMessage route(UMOMessage message,
                        UMOSession session,
                        boolean synchronous)
                 throws RoutingException
Description copied from interface: UMOOutboundRouter
This method is responsible for routing the Message via the Session. The logic for this method will change for each type of router depending on expected behaviour. For example, a MulticastingRouter might just iterate through the list of assoaciated endpoints sending the message. Another type of router such as the ExceptionBasedRouter will hit the first endpoint, if it fails try the second, and so on. Most router implementations will extends the FilteringOutboundRouter which implements all the common logic need for a router.

Specified by:
route in interface UMOOutboundRouter
Overrides:
route in class FilteringOutboundRouter
Throws:
RoutingException

getRecipientEndpoint

protected UMOEndpoint getRecipientEndpoint(UMOMessage message,
                                           String recipient)
                                    throws RoutingException
Throws:
RoutingException

getRecipients

protected abstract List getRecipients(UMOMessage message)

isDynamicEndpoints

public boolean isDynamicEndpoints()
Description copied from interface: UMOOutboundRouter
Determines whether this router supports dynamic endpoint. i.e. endpoints that are not configured at design time. Endpoints might be pulled from the message or payload.

Specified by:
isDynamicEndpoints in interface UMOOutboundRouter
Overrides:
isDynamicEndpoints in class AbstractOutboundRouter


Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.