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:
- UMOOutboundRouter, UMORouter
- Direct Known Subclasses:
- AbstractMessageSplitter, AbstractRecipientList, ChainingRouter, EndpointSelector, ExceptionBasedRouter, MessageChunkingRouter, MulticastingRouter, OutboundPassThroughRouter, 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 |
dispatch, getEnableCorrelation, getEndpoints, getPropertyExtractor, getReplyTo, getTransactionConfig, isDynamicEndpoints, removeEndpoint, send, setEnableCorrelation, setEnableCorrelationAsString, setEndpoints, setMessageProperties, setPropertyExtractor, setPropertyExtractorAsString, 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 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.
- 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 UMOFilter getFilter()
setFilter
public void setFilter(UMOFilter filter)
isMatch
public boolean isMatch(UMOMessage message)
throws RoutingException
- Description copied from interface:
UMOOutboundRouter
- 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
getTransformer
public UMOTransformer getTransformer()
setTransformer
public void setTransformer(UMOTransformer transformer)
addEndpoint
public void addEndpoint(UMOEndpoint endpoint)
- Description copied from interface:
UMOOutboundRouter
- Adds an endpoint to this router
- Specified by:
addEndpoint
in interface UMOOutboundRouter
- Overrides:
addEndpoint
in class AbstractOutboundRouter
getEndpoint
public UMOEndpoint getEndpoint(int index,
UMOMessage 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.