public abstract class QueueLoadBalancer extends LoadBalancerSupport
LoadBalancer
implementations which choose a single
destination for each exchange (rather like JMS Queues)log
shutdown, 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, getProcessors, hasNext, next, process, removeProcessor
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
public QueueLoadBalancer()
public boolean process(Exchange exchange, AsyncCallback callback)
AsyncProcessor
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
.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