org.apache.camel.processor
Class Splitter
java.lang.Object
org.apache.camel.support.ServiceSupport
org.apache.camel.processor.MulticastProcessor
org.apache.camel.processor.Splitter
- All Implemented Interfaces:
- AsyncProcessor, Navigate<Processor>, Processor, Service, ShutdownableService, StatefulService, SuspendableService, Traceable
public class Splitter
- extends MulticastProcessor
- implements AsyncProcessor, Traceable
Implements a dynamic Splitter pattern
where an expression is evaluated to iterate through each of the parts of a
message and then each part is then send to some endpoint.
- Version:
Constructor Summary |
Splitter(CamelContext camelContext,
Expression expression,
Processor destination,
AggregationStrategy aggregationStrategy)
|
Splitter(CamelContext camelContext,
Expression expression,
Processor destination,
AggregationStrategy aggregationStrategy,
boolean parallelProcessing,
ExecutorService executorService,
boolean shutdownExecutorService,
boolean streaming,
boolean stopOnException,
long timeout,
Processor onPrepare,
boolean useSubUnitOfWork)
|
Methods inherited from class org.apache.camel.processor.MulticastProcessor |
createAggregateExecutorService, createErrorHandler, createProcessorExchangePair, createUnitOfWorkProcessor, doAggregate, doDone, doProcessParallel, doProcessSequential, doShutdown, doStart, doStop, getAggregationStrategy, getAggregationStrategy, getCamelContext, getProcessors, getTimeout, hasNext, isParallelProcessing, isShareUnitOfWork, isStopOnException, isStreaming, next, prepareSharedUnitOfWork, process, removeAggregationStrategyFromExchange, setAggregationStrategyOnExchange, setToEndpoint |
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 |
Splitter
public Splitter(CamelContext camelContext,
Expression expression,
Processor destination,
AggregationStrategy aggregationStrategy)
Splitter
public Splitter(CamelContext camelContext,
Expression expression,
Processor destination,
AggregationStrategy aggregationStrategy,
boolean parallelProcessing,
ExecutorService executorService,
boolean shutdownExecutorService,
boolean streaming,
boolean stopOnException,
long timeout,
Processor onPrepare,
boolean useSubUnitOfWork)
toString
public String toString()
- Overrides:
toString
in class MulticastProcessor
getTraceLabel
public String getTraceLabel()
- Description copied from interface:
Traceable
- Gets the trace label used for logging when tracing is enabled.
The label should be short and precise.
- Specified by:
getTraceLabel
in interface Traceable
- Overrides:
getTraceLabel
in class MulticastProcessor
- Returns:
- the label
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
- Overrides:
process
in class MulticastProcessor
- Parameters:
exchange
- the message exchangecallback
- 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)
createProcessorExchangePairs
protected Iterable<ProcessorExchangePair> createProcessorExchangePairs(Exchange exchange)
throws Exception
- Overrides:
createProcessorExchangePairs
in class MulticastProcessor
- Throws:
Exception
updateNewExchange
protected void updateNewExchange(Exchange exchange,
int index,
Iterable<ProcessorExchangePair> allPairs,
Iterator<ProcessorExchangePair> it)
- Overrides:
updateNewExchange
in class MulticastProcessor
getExchangeIndex
protected Integer getExchangeIndex(Exchange exchange)
- Overrides:
getExchangeIndex
in class MulticastProcessor
getExpression
public Expression getExpression()
Apache CAMEL