Class CorrelationEventResequencer

  extended by org.mule.routing.AbstractRouter
      extended by org.mule.routing.inbound.SelectiveConsumer
          extended by org.mule.routing.inbound.AbstractEventAggregator
              extended by org.mule.routing.inbound.CorrelationEventResequencer
All Implemented Interfaces:
MuleContextAware, Disposable, Initialisable, InboundRouter, Router

public class CorrelationEventResequencer
extends AbstractEventAggregator

CorrelationEventResequencer is used to resequence events according to their dispatch sequence in the correlation group. When the MessageSplitter router splits an event it assigns a correlation sequence to the individual message parts so that another router such as the CorrelationEventResequencer can receive the parts and reorder or merge them.

Field Summary
protected  Comparator eventComparator
Fields inherited from class org.mule.routing.inbound.AbstractEventAggregator
Fields inherited from class org.mule.routing.inbound.SelectiveConsumer
Fields inherited from class org.mule.routing.AbstractRouter
Fields inherited from interface org.mule.api.lifecycle.Initialisable
Fields inherited from interface org.mule.api.lifecycle.Disposable
Constructor Summary
Method Summary
protected  EventCorrelatorCallback getCorrelatorCallback()
 Comparator getEventComparator()
 void initialise()
          Method used to perform any initialisation work.
 MuleEvent[] process(MuleEvent event)
          A received MuleEvent is passed to this method for processing.
 void setEventComparator(Comparator eventComparator)
Methods inherited from class org.mule.routing.inbound.AbstractEventAggregator
getTimeout, isFailOnTimeout, setFailOnTimeout, setTimeout
Methods inherited from class org.mule.routing.inbound.SelectiveConsumer
getFilter, getMessageInfoMapping, isMatch, isTransformFirst, setFilter, setMessageInfoMapping, setTransformFirst
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

Field Detail


protected Comparator eventComparator
Constructor Detail


public CorrelationEventResequencer()
Method Detail


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
initialise in class AbstractEventAggregator
InitialisationException - if a fatal error occurs causing the Mule instance to shutdown
RecoverableException - if an error occurs that can be recovered from


public Comparator getEventComparator()


public void setEventComparator(Comparator eventComparator)


protected EventCorrelatorCallback getCorrelatorCallback()
Specified by:
getCorrelatorCallback in class AbstractEventAggregator


public MuleEvent[] process(MuleEvent event)
                    throws MessagingException
Description copied from interface: InboundRouter
A received MuleEvent is passed to this method for processing. The router can control processing by either 1. passing back a null to indicate that the router has either discarded the event of the event has been stored for further processing. A reaosn for storing the event might be that other events in it's correlation group are expected to be received. 2. Pass back an array of one or more events to be processed by the service. Often 1 event is returned, i.e. in the case of event aggregation. The router may return an array of events if a set of events have been resequenced or multiple events have been generated from a single event.

Specified by:
process in interface InboundRouter
process in class AbstractEventAggregator
event - the event received by the inbound endpoint before it is passed to the service
null to indicate the event has been stored/destroyed or an array of events to be processed by the service
MessagingException - if an error occurs during processing of the event

Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.