org.mule.routing.outbound
Class ExceptionBasedRouter

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.AbstractRecipientList
                      extended by org.mule.routing.outbound.ExpressionRecipientList
                          extended by org.mule.routing.outbound.ExceptionBasedRouter
All Implemented Interfaces:
AnnotatedObject, FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor, MessageRouter, Matchable, MatchableMessageProcessor, MatchableMessageRouter, OutboundRouter, RouterStatisticsRecorder, TransformingMatchable

public class ExceptionBasedRouter
extends ExpressionRecipientList

ExceptionBasedRouter Will send the current event to the first endpoint that doesn't throw an exception. If all attempted targets fail then an exception is thrown.

The router will override the sync/async mode of the endpoint and force the sync mode for all targets except the last one.


Field Summary
 
Fields inherited from class org.mule.routing.outbound.ExpressionRecipientList
DEFAULT_SELECTOR_EVALUATOR, DEFAULT_SELECTOR_EXPRESSION, DEFAULT_SELECTOR_PROPERTY
 
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
ExceptionBasedRouter()
           
 
Method Summary
protected  boolean exceptionPayloadAvailable(MuleMessage message)
           
 MuleEvent route(MuleEvent event)
           
 
Methods inherited from class org.mule.routing.outbound.ExpressionRecipientList
getCustomEvaluator, getEvaluator, getExpression, getFullExpression, getRecipients, setCustomEvaluator, setEvaluator, setExpression
 
Methods inherited from class org.mule.routing.outbound.AbstractRecipientList
buildOutboundEndpoint, getRecipientEndpoint, getRecipientEndpointFromString, getRecipientEndpointFromUri, getSynchronous, isDynamicRoutes, setSynchronous
 
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, 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

ExceptionBasedRouter

public ExceptionBasedRouter()
Method Detail

route

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

exceptionPayloadAvailable

protected boolean exceptionPayloadAvailable(MuleMessage message)
Parameters:
message - message to check
Returns:
true if there was an exception payload set


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