org.mule.routing.outbound
Class AbstractRecipientList

java.lang.Object
  extended by org.mule.processor.AbstractMessageProcessorOwner
      extended by org.mule.routing.outbound.AbstractOutboundRouter
          extended by org.mule.routing.outbound.FilteringOutboundRouter
              extended by org.mule.routing.outbound.AbstractRecipientList
All Implemented Interfaces:
FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor, MessageRouter, Matchable, MatchableMessageProcessor, MatchableMessageRouter, OutboundRouter, RouterStatisticsRecorder, TransformingMatchable
Direct Known Subclasses:
ExpressionRecipientList, StaticRecipientList

public abstract class AbstractRecipientList
extends FilteringOutboundRouter
implements MessageRouter

AbstractRecipientList is used to dispatch a single event to multiple recipients over the same transport. The recipient targets 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.FilteringOutboundRouter
expressionManager
 
Fields inherited from class org.mule.routing.outbound.AbstractOutboundRouter
enableCorrelation, initialised, magicProperties, replyTo, resultsHandler, routes, started, transactionConfig
 
Fields inherited from class org.mule.processor.AbstractMessageProcessorOwner
flowConstruct, muleContext
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
AbstractRecipientList()
           
 
Method Summary
protected  OutboundEndpoint buildOutboundEndpoint(String recipient)
           
protected  OutboundEndpoint getRecipientEndpoint(MuleMessage message, Object recipient)
           
protected  OutboundEndpoint getRecipientEndpointFromString(MuleMessage message, String recipient)
           
protected  OutboundEndpoint getRecipientEndpointFromUri(EndpointURI uri)
           
protected abstract  List getRecipients(MuleEvent event)
           
 Boolean getSynchronous()
           
 boolean isDynamicRoutes()
          Determines whether this router supports dynamic route.
 MuleEvent route(MuleEvent event)
           
 void setSynchronous(Boolean synchronous)
           
 
Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter
addRoute, getFilter, getRoute, getTransformers, initialise, isMatch, isTransformBeforeMatch, isUseTemplates, setFilter, setTransformers, setUseTemplates
 
Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter
assertNonConsumableMessage, cloneMessage, cloneMessage, createEventToRoute, dispose, getEnableCorrelation, getMuleContext, getOwnedMessageProcessors, getReplyTo, getResultsHandler, getRoute, getRouterStatistics, getRoutes, getTransactionConfig, process, propagateMagicProperties, removeRoute, sendRequest, sendRequestEvent, setEnableCorrelation, setEnableCorrelationAsString, setMessageProcessors, setMessageProperties, setReplyTo, setResultsHandler, setRouterStatistics, setRoutes, setTransactionConfig, start, stop
 
Methods inherited from class org.mule.processor.AbstractMessageProcessorOwner
setFlowConstruct, setMuleContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mule.api.processor.MessageRouter
addRoute, removeRoute
 
Methods inherited from interface org.mule.api.processor.MessageProcessor
process
 
Methods inherited from interface org.mule.api.context.MuleContextAware
setMuleContext
 
Methods inherited from interface org.mule.api.construct.FlowConstructAware
setFlowConstruct
 

Field Detail

logger

protected final Log logger
logger used by this class

Constructor Detail

AbstractRecipientList

public AbstractRecipientList()
Method Detail

route

public MuleEvent route(MuleEvent event)
                throws RoutingException
Overrides:
route in class FilteringOutboundRouter
Throws:
RoutingException

getRecipientEndpoint

protected OutboundEndpoint getRecipientEndpoint(MuleMessage message,
                                                Object recipient)
                                         throws MuleException
Throws:
MuleException

getRecipientEndpointFromUri

protected OutboundEndpoint getRecipientEndpointFromUri(EndpointURI uri)
                                                throws MuleException
Throws:
MuleException

getRecipientEndpointFromString

protected OutboundEndpoint getRecipientEndpointFromString(MuleMessage message,
                                                          String recipient)
                                                   throws MuleException
Throws:
MuleException

buildOutboundEndpoint

protected OutboundEndpoint buildOutboundEndpoint(String recipient)
                                          throws MuleException
Throws:
MuleException

getSynchronous

public Boolean getSynchronous()

setSynchronous

public void setSynchronous(Boolean synchronous)

isDynamicRoutes

public boolean isDynamicRoutes()
Description copied from interface: OutboundRouter
Determines whether this router supports dynamic route. i.e. routes that are not configured at design time. routes might be pulled from the message or payload.

Specified by:
isDynamicRoutes in interface OutboundRouter
Overrides:
isDynamicRoutes in class AbstractOutboundRouter

getRecipients

protected abstract List getRecipients(MuleEvent event)
                               throws CouldNotRouteOutboundMessageException
Throws:
CouldNotRouteOutboundMessageException


Copyright © 2003-2014 MuleSoft, Inc.. All Rights Reserved.