org.mule.routing.outbound
Class EndpointSelector
java.lang.Object
org.mule.routing.AbstractRouter
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
org.mule.routing.outbound.EndpointSelector
- All Implemented Interfaces:
- MuleContextAware, Disposable, Initialisable, OutboundRouter, Router
public class EndpointSelector
- extends FilteringOutboundRouter
EndpointSelector
selects the outgoing endpoint based on a
an expression evaluator ("header:endpoint" by default). It will first try to match the
endpoint by name and then by address.
The endpoints to use can be set on the router itself or be global endpoint definitions.
<outbound>
<endpoint-selector-router evaluator="xpath" expression="/MSG/HEADER/NEXT-ADDRESS">
<endpoint name="dest1" address="jms://queue1" />
<endpoint name="dest2" address="jms://queue2" />
<endpoint name="dest3" address="jms://queue3" />
</endpoint-selector-router>
</outbound>
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, 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 |
DEFAULT_SELECTOR_EVALUATOR
public static final String DEFAULT_SELECTOR_EVALUATOR
- See Also:
- Constant Field Values
DEFAULT_SELECTOR_EXPRESSION
public static final String DEFAULT_SELECTOR_EXPRESSION
- See Also:
- Constant Field Values
EndpointSelector
public EndpointSelector()
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
lookupEndpoint
protected OutboundEndpoint lookupEndpoint(String endpointName)
throws MuleException
- Throws:
MuleException
getExpression
public String getExpression()
setExpression
public void setExpression(String expression)
getCustomEvaluator
public String getCustomEvaluator()
setCustomEvaluator
public void setCustomEvaluator(String customEvaluator)
getEvaluator
public String getEvaluator()
setEvaluator
public void setEvaluator(String evaluator)
getDefaultEndpointName
public String getDefaultEndpointName()
setDefaultEndpointName
public void setDefaultEndpointName(String defaultEndpointName)
Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.