org.apache.camel.processor
Class Pipeline

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

public class Pipeline
extends MulticastProcessor
implements AsyncProcessor

Creates a Pipeline pattern where the output of the previous step is sent as input to the next step, reusing the same message exchanges

Version:
$Revision: 56608 $

Constructor Summary
Pipeline(Collection<Processor> processors)
           
 
Method Summary
protected  Exchange createNextExchange(Processor producer, Exchange previousExchange)
          Strategy method to create the next exchange from the previous exchange.
static Processor newInstance(List<Processor> processors)
           
 void process(Exchange exchange)
          Processes the message exchange
 boolean process(Exchange original, AsyncCallback callback)
          Processes the message exchange.
 String toString()
           
 
Methods inherited from class org.apache.camel.processor.MulticastProcessor
createProcessorExchangePairs, doAggregate, doStart, doStop, getAggregationStrategy, getProcessors, isStreaming, toProducers, updateNewExchange
 
Methods inherited from class org.apache.camel.impl.ServiceSupport
addChildService, getThreadName, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, nextThreadCounter, removeChildService, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Pipeline

public Pipeline(Collection<Processor> processors)
Method Detail

newInstance

public static Processor newInstance(List<Processor> processors)

process

public void process(Exchange exchange)
             throws Exception
Description copied from interface: Processor
Processes the message exchange

Specified by:
process in interface Processor
Overrides:
process in class MulticastProcessor
Throws:
Exception - if an internal processing error has occurred.

process

public boolean process(Exchange original,
                       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.

Specified by:
process in interface AsyncProcessor
Parameters:
original - the Exchange to process
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:
true if the processing was completed synchronously.

createNextExchange

protected Exchange createNextExchange(Processor producer,
                                      Exchange previousExchange)
Strategy method to create the next exchange from the previous exchange.

Remember to copy the original exchange id otherwise correlation of ids in the log is a problem

Parameters:
producer - the producer used to send to the endpoint
previousExchange - the previous exchange
Returns:
a new exchange

toString

public String toString()
Overrides:
toString in class MulticastProcessor


Copyright © 2009 IONA Open Source Community. All Rights Reserved.