org.apache.camel.processor.loadbalancer
Class TopicLoadBalancer

java.lang.Object
  extended by org.apache.camel.impl.ServiceSupport
      extended by org.apache.camel.processor.loadbalancer.LoadBalancerSupport
          extended by org.apache.camel.processor.loadbalancer.TopicLoadBalancer
All Implemented Interfaces:
AsyncProcessor, Processor, LoadBalancer, Service

public class TopicLoadBalancer
extends LoadBalancerSupport

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

Version:
$Revision: 2375 $

Constructor Summary
TopicLoadBalancer()
           
 
Method Summary
protected  Exchange copyExchangeStrategy(Processor processor, Exchange exchange)
          Strategy method to copy the exchange before sending to another endpoint.
 void process(Exchange exchange)
          Processes the message exchange
 boolean process(Exchange exchange, AsyncCallback callback)
          Processes the message exchange.
 
Methods inherited from class org.apache.camel.processor.loadbalancer.LoadBalancerSupport
addProcessor, doStart, doStop, getProcessors, removeProcessor
 
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, toString, wait, wait, wait
 

Constructor Detail

TopicLoadBalancer

public TopicLoadBalancer()
Method Detail

process

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

Throws:
Exception - if an internal processing error has occurred.

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.

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.

Parameters:
exchange - 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.


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