|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.camel.support.ServiceSupport
org.apache.camel.processor.MulticastProcessor
org.apache.camel.processor.RecipientListProcessor
public class RecipientListProcessor
Implements a dynamic Recipient List pattern where the list of actual endpoints to send a message exchange to are dependent on some dynamic expression.
This implementation is a specializedMulticastProcessor which is based
on recipient lists. This implementation have to handle the fact the processors is not known at design time
but evaluated at runtime from the dynamic recipient list. Therefore this implementation have to at runtime
lookup endpoints and create producers which should act as the processors for the multicast processors which
runs under the hood. Also this implementation supports the asynchronous routing engine which makes the code
more trickier.
| Field Summary |
|---|
| Fields inherited from class org.apache.camel.processor.MulticastProcessor |
|---|
onPrepare |
| Fields inherited from class org.apache.camel.support.ServiceSupport |
|---|
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending |
| Constructor Summary | |
|---|---|
RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter)
|
|
RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter,
AggregationStrategy aggregationStrategy)
|
|
RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter,
AggregationStrategy aggregationStrategy,
boolean parallelProcessing,
ExecutorService executorService,
boolean shutdownExecutorService,
boolean streaming,
boolean stopOnException,
long timeout,
Processor onPrepare,
boolean shareUnitOfWork)
Deprecated. |
|
RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter,
AggregationStrategy aggregationStrategy,
boolean parallelProcessing,
ExecutorService executorService,
boolean shutdownExecutorService,
boolean streaming,
boolean stopOnException,
long timeout,
Processor onPrepare,
boolean shareUnitOfWork,
boolean parallelAggregate)
|
|
| Method Summary | |
|---|---|
protected ProcessorExchangePair |
createProcessorExchangePair(int index,
Endpoint endpoint,
Producer producer,
Exchange exchange)
This logic is similar to MulticastProcessor but we have to return a RecipientProcessorExchangePair instead |
protected Iterable<ProcessorExchangePair> |
createProcessorExchangePairs(Exchange exchange)
|
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. |
String |
getTraceLabel()
Gets the trace label used for logging when tracing is enabled. |
boolean |
isIgnoreInvalidEndpoints()
|
protected static Endpoint |
resolveEndpoint(Exchange exchange,
Object recipient)
|
void |
setIgnoreInvalidEndpoints(boolean ignoreInvalidEndpoints)
|
String |
toString()
|
| Methods inherited from class org.apache.camel.support.ServiceSupport |
|---|
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, 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 |
|---|
public RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter)
public RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter,
AggregationStrategy aggregationStrategy)
@Deprecated
public RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter,
AggregationStrategy aggregationStrategy,
boolean parallelProcessing,
ExecutorService executorService,
boolean shutdownExecutorService,
boolean streaming,
boolean stopOnException,
long timeout,
Processor onPrepare,
boolean shareUnitOfWork)
public RecipientListProcessor(CamelContext camelContext,
ProducerCache producerCache,
Iterator<Object> iter,
AggregationStrategy aggregationStrategy,
boolean parallelProcessing,
ExecutorService executorService,
boolean shutdownExecutorService,
boolean streaming,
boolean stopOnException,
long timeout,
Processor onPrepare,
boolean shareUnitOfWork,
boolean parallelAggregate)
| Method Detail |
|---|
public boolean isIgnoreInvalidEndpoints()
public void setIgnoreInvalidEndpoints(boolean ignoreInvalidEndpoints)
protected Iterable<ProcessorExchangePair> createProcessorExchangePairs(Exchange exchange)
throws Exception
createProcessorExchangePairs in class MulticastProcessorException
protected ProcessorExchangePair createProcessorExchangePair(int index,
Endpoint endpoint,
Producer producer,
Exchange exchange)
protected static Endpoint resolveEndpoint(Exchange exchange,
Object recipient)
protected void doStart()
throws Exception
ServiceSupportServiceSupport.doStop() for more details.
doStart in class MulticastProcessorExceptionServiceSupport.doStop()
protected void doStop()
throws Exception
ServiceSupportServiceSupport.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.
doStop in class MulticastProcessorExceptionServiceSupport.doStart()
protected void doShutdown()
throws Exception
ServiceSupport
doShutdown in class MulticastProcessorExceptionpublic String toString()
toString in class MulticastProcessorpublic String getTraceLabel()
Traceable
getTraceLabel in interface TraceablegetTraceLabel in class MulticastProcessor
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||