org.apache.camel.processor
Class RecipientList

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

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:
$Revision: 20740 $

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 doStart()
           
protected  void doStop()
           
 AggregationStrategy getAggregationStrategy()
           
 ExecutorService getExecutorService()
           
 long getTimeout()
           
 boolean isIgnoreInvalidEndpoints()
           
 boolean isParallelProcessing()
           
 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 setParallelProcessing(boolean parallelProcessing)
           
 void setStopOnException(boolean stopOnException)
           
 void setStreaming(boolean streaming)
           
 void setTimeout(long timeout)
           
 String toString()
           
 
Methods inherited from class org.apache.camel.impl.ServiceSupport
addChildService, doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, 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
Specified by:
doStart in class ServiceSupport
Throws:
Exception

doStop

protected void doStop()
               throws Exception
Specified by:
doStop 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)

getAggregationStrategy

public AggregationStrategy getAggregationStrategy()

setAggregationStrategy

public void setAggregationStrategy(AggregationStrategy aggregationStrategy)

getTimeout

public long getTimeout()

setTimeout

public void setTimeout(long timeout)


Apache CAMEL