org.apache.camel.processor.loadbalancer
Class QueueLoadBalancer
java.lang.Object
org.apache.camel.support.ServiceSupport
org.apache.camel.processor.loadbalancer.LoadBalancerSupport
org.apache.camel.processor.loadbalancer.QueueLoadBalancer
- All Implemented Interfaces:
- AsyncProcessor, Navigate<Processor>, Processor, LoadBalancer, Service, ShutdownableService, StatefulService, SuspendableService
- Direct Known Subclasses:
- RandomLoadBalancer, RoundRobinLoadBalancer, StickyLoadBalancer, WeightedLoadBalancer
public abstract class QueueLoadBalancer
- extends LoadBalancerSupport
A base class for LoadBalancer
implementations which choose a single
destination for each exchange (rather like JMS Queues)
- Version:
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, toString, wait, wait, wait |
QueueLoadBalancer
public QueueLoadBalancer()
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 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)
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 LoadBalancerSupport
- Parameters:
exchange
- the message exchange
- Throws:
Exception
- if an internal processing error has occurred.
chooseProcessor
protected abstract Processor chooseProcessor(List<Processor> processors,
Exchange exchange)
Apache CAMEL