org.apache.camel.processor.loadbalancer
Class TopicLoadBalancer

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.processor.loadbalancer.LoadBalancerSupport
          extended by org.apache.camel.processor.loadbalancer.TopicLoadBalancer
All Implemented Interfaces:
AsyncProcessor, Navigate<Processor>, Processor, LoadBalancer, Service, ShutdownableService, StatefulService, SuspendableService

public class TopicLoadBalancer
extends LoadBalancerSupport

A LoadBalancer implementations which sends to all destinations (rather like JMS Topics).

The MulticastProcessor is more powerful as it offers option to run in parallel and decide whether or not to stop on failure etc.

Version:

Field Summary
 
Fields inherited from class org.apache.camel.processor.loadbalancer.LoadBalancerSupport
log
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
TopicLoadBalancer()
           
 
Method Summary
protected  Exchange copyExchangeStrategy(Processor processor, Exchange exchange)
          Strategy method to copy the exchange before sending to another endpoint.
 boolean process(Exchange exchange, AsyncCallback callback)
          Processes the message exchange.
 String toString()
           
 
Methods inherited from class org.apache.camel.processor.loadbalancer.LoadBalancerSupport
addProcessor, doStart, doStop, getProcessors, hasNext, next, process, removeProcessor
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doShutdown, 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

TopicLoadBalancer

public TopicLoadBalancer()
Method Detail

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.

Parameters:
exchange - the message exchange
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:
(doneSync) true to continue execute synchronously, false to continue being executed asynchronously
See Also:
AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)

copyExchangeStrategy

protected Exchange copyExchangeStrategy(Processor processor,
                                        Exchange exchange)
Strategy method to copy the exchange before sending to another endpoint. Derived classes such as the Pipeline will not clone the exchange

Parameters:
processor - the processor that will send the exchange
exchange - the exchange
Returns:
the current exchange if no copying is required such as for a pipeline otherwise a new copy of the exchange is returned.

toString

public String toString()
Overrides:
toString in class Object


Apache CAMEL