org.mule.routing.outbound
Class AbstractSequenceRouter

java.lang.Object
  extended by org.mule.processor.AbstractMuleObjectOwner<MessageProcessor>
      extended by org.mule.processor.AbstractMessageProcessorOwner
          extended by org.mule.routing.outbound.AbstractOutboundRouter
              extended by org.mule.routing.outbound.FilteringOutboundRouter
                  extended by org.mule.routing.outbound.AbstractSequenceRouter
All Implemented Interfaces:
AnnotatedObject, FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor, MessageRouter, Matchable, MatchableMessageProcessor, MatchableMessageRouter, OutboundRouter, RouterStatisticsRecorder, TransformingMatchable
Direct Known Subclasses:
MulticastingRouter, SequenceRouter

public abstract class AbstractSequenceRouter
extends FilteringOutboundRouter

Defines a router that sequentially routes a given message to the list of registered endpoints and returns the aggregate responses as the result. Aggregate response is built using the partial responses obtained from synchronous endpoints. The routing process can be stopped after receiving a partial response.


Field Summary
 
Fields inherited from class org.mule.routing.outbound.FilteringOutboundRouter
expressionManager
 
Fields inherited from class org.mule.routing.outbound.AbstractOutboundRouter
enableCorrelation, initialised, logger, magicProperties, replyTo, resultsHandler, routes, started, transactionConfig
 
Fields inherited from class org.mule.processor.AbstractMuleObjectOwner
flowConstruct, muleContext
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Fields inherited from interface org.mule.api.AnnotatedObject
PROPERTY_NAME
 
Constructor Summary
AbstractSequenceRouter()
           
 
Method Summary
protected abstract  boolean continueRoutingMessageAfter(MuleEvent response)
          Lets subclasses decide if the routing of a given message should continue or not after receiving a given response from a synchronous endpoint.
 MuleEvent route(MuleEvent event)
           
 
Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter
addRoute, getFilter, getRoute, getTransformers, initialise, isMatch, isTransformBeforeMatch, isUseTemplates, setFilter, setTransformers, setUseTemplates
 
Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter
cloneMessage, createEventToRoute, dispose, getEnableCorrelation, getMuleContext, getOwnedMessageProcessors, getReplyTo, getResultsHandler, getRoute, getRouterStatistics, getRoutes, getTransactionConfig, isDynamicRoutes, process, propagateMagicProperties, removeRoute, sendRequest, sendRequestEvent, setEnableCorrelation, setEnableCorrelationAsString, setMessageProcessors, setMessageProperties, setReplyTo, setResultsHandler, setRouterStatistics, setRoutes, setTransactionConfig, start, stop
 
Methods inherited from class org.mule.processor.AbstractMessageProcessorOwner
getAnnotation, getAnnotations, getOwnedObjects, setAnnotations
 
Methods inherited from class org.mule.processor.AbstractMuleObjectOwner
getFlowConstruct, setFlowConstruct, setMuleContext
 
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.context.MuleContextAware
setMuleContext
 
Methods inherited from interface org.mule.api.construct.FlowConstructAware
setFlowConstruct
 

Constructor Detail

AbstractSequenceRouter

public AbstractSequenceRouter()
Method Detail

route

public MuleEvent route(MuleEvent event)
                throws RoutingException
Overrides:
route in class FilteringOutboundRouter
Throws:
RoutingException

continueRoutingMessageAfter

protected abstract boolean continueRoutingMessageAfter(MuleEvent response)
                                                throws MuleException
Lets subclasses decide if the routing of a given message should continue or not after receiving a given response from a synchronous endpoint.

Parameters:
response - the last received response
Returns:
true if must continue and false otherwise.
Throws:
MuleException - when the router should stop processing throwing an exception without returning any results to the caller.


Copyright © 2003-2012 MuleSoft, Inc.. All Rights Reserved.