public abstract class QueueLoadBalancer extends LoadBalancerSupport
LoadBalancer implementations which choose a single
destination for each exchange (rather like JMS Queues)logshutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending| Constructor and Description |
|---|
QueueLoadBalancer() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract Processor |
chooseProcessor(List<Processor> processors,
Exchange exchange) |
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange.
|
addProcessor, doShutdown, doStart, doStop, getId, getProcessors, hasNext, next, process, removeProcessor, setIddoResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendpublic QueueLoadBalancer()
public boolean process(Exchange exchange, AsyncCallback callback)
AsyncProcessorProcessor.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.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.protected abstract Processor chooseProcessor(List<Processor> processors, Exchange exchange)
Apache Camel