org.mule.module.xml.routing
Class RoundRobinXmlSplitter
java.lang.Object
org.mule.routing.AbstractRouter
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
org.mule.routing.outbound.AbstractMessageSplitter
org.mule.module.xml.routing.FilteringXmlMessageSplitter
org.mule.module.xml.routing.RoundRobinXmlSplitter
- All Implemented Interfaces:
- MuleContextAware, Disposable, Initialisable, OutboundRouter, Router
public class RoundRobinXmlSplitter
- extends FilteringXmlMessageSplitter
This router will split the Xml message into parts based on the xpath expression
and route each new event to the endpoints on the router, one after the other.
Methods inherited from class org.mule.module.xml.routing.FilteringXmlMessageSplitter |
cleanup, getExternalSchemaLocation, getMessagePart, getNamespaces, getSplitExpression, initialise, isValidateSchema, setExternalSchemaLocation, setNamespaces, setSplitExpression, setValidateSchema |
Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter |
createTransactionTemplate, dispatch, getEnableCorrelation, getEndpoint, getEndpoints, getMessageInfoMapping, getReplyTo, getTransactionConfig, isDynamicEndpoints, removeEndpoint, send, setEnableCorrelation, setEnableCorrelationAsString, setEndpoints, setMessageInfoMapping, setMessageProperties, setReplyTo, setTransactionConfig |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
enableEndpointFiltering
protected volatile boolean enableEndpointFiltering
RoundRobinXmlSplitter
public RoundRobinXmlSplitter()
route
public MuleMessage route(MuleMessage message,
MuleSession session,
boolean synchronous)
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 AbstractMessageSplitter
- Parameters:
message
- the message to send via one or more endpoints on this routersession
- the session used to actually send the eventsynchronous
- whether the invocation process should be synchronous or not
- 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
getEndpointForMessage
protected OutboundEndpoint getEndpointForMessage(MuleMessage message)
- Retrieves a specific message part for the given endpoint. the message will
then be routed via the provider.
- Parameters:
message
- the current message being processed
- Returns:
- the message part to dispatch
addEndpoint
public void addEndpoint(OutboundEndpoint endpoint)
- Description copied from interface:
OutboundRouter
- Adds an endpoint to this router
- Specified by:
addEndpoint
in interface OutboundRouter
- Overrides:
addEndpoint
in class FilteringOutboundRouter
- Parameters:
endpoint
- the endpoint to add to the router
isEnableEndpointFiltering
public boolean isEnableEndpointFiltering()
setEnableEndpointFiltering
public void setEnableEndpointFiltering(boolean enableEndpointFiltering)
isDeterministic
public boolean isDeterministic()
setDeterministic
public void setDeterministic(boolean deterministic)
Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.