Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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>

Field Summary
`static String` | `DEFAULT_SELECTOR_EVALUATOR`
`static String` | `DEFAULT_SELECTOR_EXPRESSION`

Fields inherited from class org.mule.routing.outbound.FilteringOutboundRouter
`expressionManager`

Fields inherited from class org.mule.routing.outbound.AbstractOutboundRouter
`ENABLE_CORRELATION_ALWAYS, ENABLE_CORRELATION_IF_NOT_SET, ENABLE_CORRELATION_NEVER, enableCorrelation, endpoints, logger, messageInfoMapping, replyTo, resultsHandler, transactionConfig`

Fields inherited from class org.mule.routing.AbstractRouter
`muleContext`

Fields inherited from interface org.mule.api.lifecycle.Initialisable
`PHASE_NAME`

Fields inherited from interface org.mule.api.lifecycle.Disposable
`PHASE_NAME`

Constructor Summary
`EndpointSelector()`

Method Summary
`String` | `getCustomEvaluator()`
`String` | `getDefaultEndpointName()`
`String` | `getEvaluator()`
`String` | `getExpression()`
`protected OutboundEndpoint` | `lookupEndpoint(String endpointName)`
`MuleMessage` | `route(MuleMessage message, MuleSession session)` This method is responsible for routing the Message via the MuleSession.
`void` | `setCustomEvaluator(String customEvaluator)`
`void` | `setDefaultEndpointName(String defaultEndpointName)`
`void` | `setEvaluator(String evaluator)`
`void` | `setExpression(String expression)`

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 org.mule.routing.AbstractRouter
`dispose, getMuleContext, getRouterStatistics, setMuleContext, setRouterStatistics`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.mule.api.routing.Router
`getRouterStatistics, setRouterStatistics`

Methods inherited from interface org.mule.api.lifecycle.Disposable
`dispose`

Field Detail

### 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

Constructor Detail

### EndpointSelector

    public EndpointSelector()

Method Detail

### 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 router
    `session` - 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)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.