org.mule.routing.outbound
Class AbstractRecipientList
java.lang.Object
org.mule.routing.AbstractRouter
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
org.mule.routing.outbound.AbstractRecipientList
- All Implemented Interfaces:
- MuleContextAware, Disposable, Initialisable, OutboundRouter, Router
- Direct Known Subclasses:
- ExpressionRecipientList, 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 |
Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter |
addEndpoint, getEndpoint, getFilter, getTransformers, initialise, isMatch, isRequiresNewMessage, isUseTemplates, setFilter, setTransformers, setUseTemplates |
Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter |
createTransactionTemplate, dispatch, getEnableCorrelation, getEndpoint, getEndpoints, getMessageInfoMapping, getReplyTo, getResultsHandler, getTransactionConfig, removeEndpoint, send, setEnableCorrelation, setEnableCorrelationAsString, setEndpoints, setMessageInfoMapping, setMessageProperties, setReplyTo, setResultsHandler, setTransactionConfig |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected final Log logger
- logger used by this class
AbstractRecipientList
public AbstractRecipientList()
route
public MuleMessage route(MuleMessage message,
MuleSession session)
throws RoutingException
- Description copied from interface:
OutboundRouter
- This method is responsible for routing the Message via the MuleSession. 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 OutboundRouter
- Overrides:
route
in class FilteringOutboundRouter
- Parameters:
message
- the message to send via one or more endpoints on this routersession
- the session used to actually send the event
- Returns:
- a result message if any from the invocation. If the synchronous flag
is false a null result will always be returned.
- Throws:
RoutingException
- See Also:
FilteringOutboundRouter
,
ExceptionBasedRouter
,
MulticastingRouter
getRecipientEndpoint
protected OutboundEndpoint getRecipientEndpoint(MuleMessage message,
Object recipient)
throws RoutingException
- Throws:
RoutingException
getRecipientEndpointFromUri
protected OutboundEndpoint getRecipientEndpointFromUri(EndpointURI uri)
throws MuleException
- Throws:
MuleException
getRecipientEndpointFromString
protected OutboundEndpoint getRecipientEndpointFromString(MuleMessage message,
String recipient)
throws MuleException
- Throws:
MuleException
getSynchronous
public Boolean getSynchronous()
setSynchronous
public void setSynchronous(Boolean synchronous)
isDynamicEndpoints
public boolean isDynamicEndpoints()
- Description copied from interface:
OutboundRouter
- 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 OutboundRouter
- Overrides:
isDynamicEndpoints
in class AbstractOutboundRouter
- Returns:
getRecipients
protected abstract List getRecipients(MuleMessage message)
throws CouldNotRouteOutboundMessageException
- Throws:
CouldNotRouteOutboundMessageException
Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.