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