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, getResultsHandler, getTransactionConfig, isDynamicEndpoints, 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 |
expressionManager
protected ExpressionManager expressionManager
FilteringOutboundRouter
public FilteringOutboundRouter()
initialise
public void initialise()
throws InitialisationException
- Description copied from interface:
Initialisable
- Method used to perform any initialisation work. If a fatal error occurs during
initialisation an
InitialisationException
should be thrown,
causing the Mule instance to shutdown. If the error is recoverable, say by
retrying to connect, a RecoverableException
should be thrown.
There is no guarantee that by throwing a Recoverable exception that the Mule
instance will not shut down.
- Specified by:
initialise
in interface Initialisable
- Overrides:
initialise
in class AbstractRouter
- Throws:
InitialisationException
- if a fatal error occurs causing the Mule instance to shutdown
RecoverableException
- if an error occurs that can be recovered from
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.
- 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
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)
isRequiresNewMessage
public boolean isRequiresNewMessage()
- Description copied from interface:
OutboundRouter
- Determines is this router requires a new message copy.
- Specified by:
isRequiresNewMessage
in interface OutboundRouter
- Overrides:
isRequiresNewMessage
in class AbstractOutboundRouter
- Returns:
Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.