|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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)
|
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, 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)
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)
Method Detail |
---|
public boolean isIgnoreInvalidEndpoints()
public void setIgnoreInvalidEndpoints(boolean ignoreInvalidEndpoints)
protected Iterable<ProcessorExchangePair> createProcessorExchangePairs(Exchange exchange) throws Exception
createProcessorExchangePairs
in class MulticastProcessor
Exception
protected ProcessorExchangePair createProcessorExchangePair(int index, Endpoint endpoint, Producer producer, Exchange exchange)
protected static Endpoint resolveEndpoint(Exchange exchange, Object recipient)
protected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.
doStart
in class MulticastProcessor
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
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.
doStop
in class MulticastProcessor
Exception
ServiceSupport.doStart()
protected void doShutdown() throws Exception
ServiceSupport
doShutdown
in class MulticastProcessor
Exception
public String toString()
toString
in class MulticastProcessor
public String getTraceLabel()
Traceable
getTraceLabel
in interface Traceable
getTraceLabel
in class MulticastProcessor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |