org.apache.camel.processor
Class RecipientList

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.processor.RecipientList
All Implemented Interfaces:
AsyncProcessor, Processor, Service, ShutdownableService, StatefulService, SuspendableService

public class RecipientList
extends ServiceSupport
implements AsyncProcessor

Implements a dynamic Recipient List pattern where the list of actual endpoints to send a message exchange to are dependent on some dynamic expression.

Version:

Field Summary
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
RecipientList(CamelContext camelContext)
           
RecipientList(CamelContext camelContext, Expression expression)
           
RecipientList(CamelContext camelContext, Expression expression, String delimiter)
           
RecipientList(CamelContext camelContext, String delimiter)
           
 
Method Summary
protected  void doShutdown()
          Implementations override this method to perform customized shutdown.
protected  void doStart()
          Implementations override this method to support customized start/stop.
protected  void doStop()
          Implementations override this method to support customized start/stop.
 AggregationStrategy getAggregationStrategy()
           
 ExecutorService getExecutorService()
           
 Processor getOnPrepare()
           
 long getTimeout()
           
 boolean isIgnoreInvalidEndpoints()
           
 boolean isParallelProcessing()
           
 boolean isShareUnitOfWork()
           
 boolean isShutdownExecutorService()
           
 boolean isStopOnException()
           
 boolean isStreaming()
           
 void process(Exchange exchange)
          Processes the message exchange
 boolean process(Exchange exchange, AsyncCallback callback)
          Processes the message exchange.
protected  Endpoint resolveEndpoint(Exchange exchange, Object recipient)
           
 boolean sendToRecipientList(Exchange exchange, Object recipientList, AsyncCallback callback)
          Sends the given exchange to the recipient list
 void setAggregationStrategy(AggregationStrategy aggregationStrategy)
           
 void setExecutorService(ExecutorService executorService)
           
 void setIgnoreInvalidEndpoints(boolean ignoreInvalidEndpoints)
           
 void setOnPrepare(Processor onPrepare)
           
 void setParallelProcessing(boolean parallelProcessing)
           
 void setShareUnitOfWork(boolean shareUnitOfWork)
           
 void setShutdownExecutorService(boolean shutdownExecutorService)
           
 void setStopOnException(boolean stopOnException)
           
 void setStreaming(boolean streaming)
           
 void setTimeout(long timeout)
           
 String toString()
           
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RecipientList

public RecipientList(CamelContext camelContext)

RecipientList

public RecipientList(CamelContext camelContext,
                     String delimiter)

RecipientList

public RecipientList(CamelContext camelContext,
                     Expression expression)

RecipientList

public RecipientList(CamelContext camelContext,
                     Expression expression,
                     String delimiter)
Method Detail

toString

public String toString()
Overrides:
toString in class Object

process

public void process(Exchange exchange)
             throws Exception
Description copied from interface: Processor
Processes the message exchange

Specified by:
process in interface Processor
Parameters:
exchange - the message exchange
Throws:
Exception - if an internal processing error has occurred.

process

public boolean process(Exchange exchange,
                       AsyncCallback callback)
Description copied from interface: AsyncProcessor
Processes the message exchange. Similar to Processor.process(org.apache.camel.Exchange), but the caller supports having the exchange asynchronously processed.

If there was a failure processing then the caused Exception would be set on the Exchange.

Specified by:
process in interface AsyncProcessor
Parameters:
exchange - the message exchange
callback - the AsyncCallback will be invoked when the processing of the exchange is completed. If the exchange is completed synchronously, then the callback is also invoked synchronously. The callback should therefore be careful of starting recursive loop.
Returns:
(doneSync) true to continue execute synchronously, false to continue being executed asynchronously
See Also:
AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)

sendToRecipientList

public boolean sendToRecipientList(Exchange exchange,
                                   Object recipientList,
                                   AsyncCallback callback)
Sends the given exchange to the recipient list


resolveEndpoint

protected Endpoint resolveEndpoint(Exchange exchange,
                                   Object recipient)

doStart

protected void doStart()
                throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized start/stop.

Important: See ServiceSupport.doStop() for more details.

Specified by:
doStart in class ServiceSupport
Throws:
Exception
See Also:
ServiceSupport.doStop()

doStop

protected void doStop()
               throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized start/stop.

Important: Camel will invoke this ServiceSupport.doStop() method when the service is being stopped. This method will also be invoked if the service is still in uninitialized state (eg has not been started). The method is always called to allow the service to do custom logic when the service is being stopped, such as when CamelContext is shutting down.

Specified by:
doStop in class ServiceSupport
Throws:
Exception
See Also:
ServiceSupport.doStart()

doShutdown

protected void doShutdown()
                   throws Exception
Description copied from class: ServiceSupport
Implementations override this method to perform customized shutdown.

Overrides:
doShutdown in class ServiceSupport
Throws:
Exception

isStreaming

public boolean isStreaming()

setStreaming

public void setStreaming(boolean streaming)

isIgnoreInvalidEndpoints

public boolean isIgnoreInvalidEndpoints()

setIgnoreInvalidEndpoints

public void setIgnoreInvalidEndpoints(boolean ignoreInvalidEndpoints)

isParallelProcessing

public boolean isParallelProcessing()

setParallelProcessing

public void setParallelProcessing(boolean parallelProcessing)

isStopOnException

public boolean isStopOnException()

setStopOnException

public void setStopOnException(boolean stopOnException)

getExecutorService

public ExecutorService getExecutorService()

setExecutorService

public void setExecutorService(ExecutorService executorService)

isShutdownExecutorService

public boolean isShutdownExecutorService()

setShutdownExecutorService

public void setShutdownExecutorService(boolean shutdownExecutorService)

getAggregationStrategy

public AggregationStrategy getAggregationStrategy()

setAggregationStrategy

public void setAggregationStrategy(AggregationStrategy aggregationStrategy)

getTimeout

public long getTimeout()

setTimeout

public void setTimeout(long timeout)

getOnPrepare

public Processor getOnPrepare()

setOnPrepare

public void setOnPrepare(Processor onPrepare)

isShareUnitOfWork

public boolean isShareUnitOfWork()

setShareUnitOfWork

public void setShareUnitOfWork(boolean shareUnitOfWork)


Apache CAMEL