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

Field Summary

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
`ChainingRouter()`

Method Summary
`void` | `initialise()` Method used to perform any initialisation work.
`protected void` | `processIntermediaryResult(MuleMessage localResult, MuleMessage intermediaryResult)` Process intermediary result of invocation.
`MuleMessage` | `route(MuleMessage message, MuleSession session)` This method is responsible for routing the Message via the MuleSession.

Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter
`addEndpoint, getEndpoint, getFilter, getTransformers, 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`

Constructor Detail

### ChainingRouter

    public ChainingRouter()

Method Detail

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

### 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 invocation
    `intermediaryResult` - the message travelling across the endpoints

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.