Class AbstractMessageSplitter

  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.AbstractMessageSplitter
All Implemented Interfaces:
AnnotatedObject, FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor, MessageRouter, Matchable, MatchableMessageProcessor, MatchableMessageRouter, OutboundRouter, RouterStatisticsRecorder, TransformingMatchable
Direct Known Subclasses:

public abstract class AbstractMessageSplitter
extends FilteringOutboundRouter

AbstractMessageSplitter is an outbound Message Splitter used to split the contents of a received message into sub parts that can be processed by other components. Each Part is fired as a separate event to each endpoint on the router. The targets can have filters on them to receive only certain message parts.

Field Summary
Fields inherited from class org.mule.routing.outbound.FilteringOutboundRouter
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
Fields inherited from interface org.mule.api.lifecycle.Startable
Fields inherited from interface org.mule.api.lifecycle.Stoppable
Fields inherited from interface org.mule.api.lifecycle.Disposable
Fields inherited from interface org.mule.api.AnnotatedObject
Constructor Summary
Method Summary
protected abstract  SplitMessage getMessageParts(MuleMessage message, List<MessageProcessor> endpoints)
          Implementing classes should create a SplitMessage instance and for each part can associate an 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
Methods inherited from interface org.mule.api.construct.FlowConstructAware

Constructor Detail


public AbstractMessageSplitter()
Method Detail


public MuleEvent route(MuleEvent event)
                throws RoutingException
route in class FilteringOutboundRouter


protected abstract SplitMessage getMessageParts(MuleMessage message,
                                                List<MessageProcessor> endpoints)
Implementing classes should create a SplitMessage instance and for each part can associate an endpoint. Note that No state should be stored on the router itself. The SplitMessage provides the parts and endpoint mapping info in order for the correct dispatching to occur.

If users do not want to associate a message part with an endpoint, but just dispatch parts over the targets in a round-robin way, they should use the AbstractRoundRobinMessageSplitter instead.

message - the current message being processed
endpoints - A list of OutboundEndpoint that will be used to dispatch each of the parts
a SplitMessage instance that contains the message parts and the endpoint to associate with the message part.
See Also:
SplitMessage, AbstractRoundRobinMessageSplitter

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