org.mule.routing.outbound
Class AbstractMessageSplitter
java.lang.Object
org.mule.processor.AbstractMuleObjectOwner<MessageProcessor>
org.mule.processor.AbstractMessageProcessorOwner
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
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:
- AbstractRoundRobinMessageSplitter
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.
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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractMessageSplitter
public AbstractMessageSplitter()
route
public MuleEvent route(MuleEvent event)
throws RoutingException
- Overrides:
route
in class FilteringOutboundRouter
- Throws:
RoutingException
getMessageParts
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.
- Parameters:
message
- the current message being processedendpoints
- A list of OutboundEndpoint
that will be used to dispatch each of the parts
- Returns:
- 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.