org.mule.routing.outbound
Class EndpointSelector

java.lang.Object
  extended byorg.mule.routing.AbstractRouter
      extended byorg.mule.routing.outbound.AbstractOutboundRouter
          extended byorg.mule.routing.outbound.FilteringOutboundRouter
              extended byorg.mule.routing.outbound.EndpointSelector
All Implemented Interfaces:
UMOOutboundRouter, UMORouter

public class EndpointSelector
extends FilteringOutboundRouter

EndpointSelector selects the outgoing endpoint based on a message property ("endpoint" by default). It will first try to match the endpoint by name and then by address.


 <outbound-router>
      <router className="org.mule.routing.outbound.EndpointSelector">
          <endpoint name="dest1" address="jms://queue1" />
          <endpoint name="dest2" address="jms://queue2" />
          <endpoint name="dest3" address="jms://queue3" />
          <properties>
              <property name="selector" value="endpoint" />
          </properties>
      </router>
 </outbound-router>

 


Field Summary
 
Fields inherited from class org.mule.routing.outbound.AbstractOutboundRouter
ENABLE_CORRELATION_ALWAYS, ENABLE_CORRELATION_IF_NOT_SET, ENABLE_CORRELATION_NEVER, enableCorrelation, endpoints, logger, propertyExtractor, replyTo, transactionConfig
 
Constructor Summary
EndpointSelector()
           
 
Method Summary
 String getSelectorProperty()
           
protected  UMOEndpoint lookupEndpoint(String endpointName)
           
 UMOMessage route(UMOMessage message, UMOSession session, boolean synchronous)
          This method is responsible for routing the Message via the Session.
 void setSelectorProperty(String selectorProperty)
           
 
Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter
addEndpoint, getEndpoint, getFilter, getTransformer, isMatch, isUseTemplates, setFilter, setTransformer, setUseTemplates
 
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 org.mule.routing.AbstractRouter
getRouterStatistics, 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.umo.routing.UMORouter
getRouterStatistics, setRouterStatistics
 

Constructor Detail

EndpointSelector

public EndpointSelector()
Method Detail

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.

Specified by:
route in interface UMOOutboundRouter
Overrides:
route in class FilteringOutboundRouter
Throws:
RoutingException

lookupEndpoint

protected UMOEndpoint lookupEndpoint(String endpointName)

getSelectorProperty

public String getSelectorProperty()

setSelectorProperty

public void setSelectorProperty(String selectorProperty)


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