org.mule.routing.outbound
Class ChainingRouter
java.lang.Object
org.mule.routing.AbstractRouter
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
org.mule.routing.outbound.ChainingRouter
- All Implemented Interfaces:
- MuleContextAware, Disposable, Initialisable, OutboundRouter, Router
public class ChainingRouter
- extends FilteringOutboundRouter
ChainingRouter
is used to pass a Mule event through multiple
endpoints using the result of the first as the input for the second.
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 |
ChainingRouter
public ChainingRouter()
initialise
public void initialise()
throws InitialisationException
- Description copied from interface:
Initialisable
- Method used to perform any initialisation work. If a fatal error occurs during
initialisation an
InitialisationException
should be thrown,
causing the Mule instance to shutdown. If the error is recoverable, say by
retrying to connect, a RecoverableException
should be thrown.
There is no guarantee that by throwing a Recoverable exception that the Mule
instance will not shut down.
- Specified by:
initialise
in interface Initialisable
- Overrides:
initialise
in class FilteringOutboundRouter
- Throws:
InitialisationException
- if a fatal error occurs causing the Mule instance to shutdown
RecoverableException
- if an error occurs that can be recovered from
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
processIntermediaryResult
protected void processIntermediaryResult(MuleMessage localResult,
MuleMessage intermediaryResult)
- Process intermediary result of invocation. The method will be invoked
only if both local and intermediary results are available
(not null).
Overriding methods must call
super(localResult, intermediaryResult)
,
unless they are modifying the correlation workflow (if you know what that means,
you know what you are doing and when to do it).
Default implementation propagates
the following properties:
- correlationId
- correlationSequence
- correlationGroupSize
- replyTo
- Parameters:
localResult
- result of the last endpoint invocationintermediaryResult
- the message travelling across the endpoints
Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.