- 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)
|Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, 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
public boolean process(Exchange exchange,
- Description copied from interface:
- Processes the message exchange.
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 - 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.
- (doneSync) true to continue execute synchronously, false to continue being executed asynchronously
protected abstract Processor chooseProcessor(List<Processor> processors,