org.mule.routing.outbound
Class FilteringOutboundRouter
java.lang.Object
org.mule.routing.AbstractRouter
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
- All Implemented Interfaces:
- MuleContextAware, Disposable, Initialisable, OutboundRouter, Router
- Direct Known Subclasses:
- AbstractMessageSplitter, AbstractRecipientList, ChainingRouter, EndpointSelector, ExceptionBasedRouter, MessageChunkingRouter, MulticastingRouter, OutboundPassThroughRouter, SxcFilteringOutboundRouter, TemplateEndpointRouter
public class FilteringOutboundRouter
- extends AbstractOutboundRouter
FilteringRouter
is a router that accepts events based on a filter
set.
Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter |
createTransactionTemplate, dispatch, getEnableCorrelation, getEndpoint, getEndpoints, getMessageInfoMapping, getReplyTo, getTransactionConfig, isDynamicEndpoints, removeEndpoint, send, setEnableCorrelation, setEnableCorrelationAsString, setEndpoints, setMessageInfoMapping, setMessageProperties, setReplyTo, setTransactionConfig |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FilteringOutboundRouter
public FilteringOutboundRouter()
route
public MuleMessage route(MuleMessage message,
MuleSession session,
boolean synchronous)
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.
- Parameters:
message
- the message to send via one or more endpoints on this routersession
- the session used to actually send the eventsynchronous
- whether the invocation process should be synchronous or not
- 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
getFilter
public Filter getFilter()
setFilter
public void setFilter(Filter filter)
isMatch
public boolean isMatch(MuleMessage message)
throws RoutingException
- Description copied from interface:
OutboundRouter
- Determines if the event should be processed by this router. Routers can be
selectively invoked by configuring a filter on them. Usually the filter is
applied to the message when calling this method. All core Mule outbound
routers extend the FilteringOutboundRouter router that handles this method
automatically.
- Parameters:
message
- the current message to evaluate
- Returns:
- true if the event should be processed by this router
- Throws:
RoutingException
- See Also:
SelectiveConsumer
getTransformers
public List getTransformers()
setTransformers
public void setTransformers(List transformers)
addEndpoint
public void addEndpoint(OutboundEndpoint endpoint)
- Description copied from interface:
OutboundRouter
- Adds an endpoint to this router
- Specified by:
addEndpoint
in interface OutboundRouter
- Overrides:
addEndpoint
in class AbstractOutboundRouter
- Parameters:
endpoint
- the endpoint to add to the router
getEndpoint
public OutboundEndpoint getEndpoint(int index,
MuleMessage message)
throws CouldNotRouteOutboundMessageException
- Will Return the endpont at the given index and will resolve any template tags
on the Endpoint URI if necessary
- Parameters:
index
- the index of the endpoint to getmessage
- the current message. This is required if template matching is
being used
- Returns:
- the endpoint at the index, with any template tags resolved
- Throws:
CouldNotRouteOutboundMessageException
- if the template causs the
endpoint to become illegal or malformed
isUseTemplates
public boolean isUseTemplates()
setUseTemplates
public void setUseTemplates(boolean useTemplates)
Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.