public class TopicLoadBalancer extends LoadBalancerSupport
LoadBalancer
implementations which sends to all destinations
(rather like JMS Topics).
The MulticastProcessor
is more powerful as it offers
option to run in parallel and decide whether or not to stop on failure etc.log
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
TopicLoadBalancer() |
Modifier and Type | Method and Description |
---|---|
protected Exchange |
copyExchangeStrategy(Processor processor,
Exchange exchange)
Strategy method to copy the exchange before sending to another endpoint.
|
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange.
|
String |
toString() |
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 TopicLoadBalancer()
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 Exchange copyExchangeStrategy(Processor processor, Exchange exchange)
Pipeline
will not clone the exchangeprocessor
- the processor that will send the exchangeexchange
- the exchangeApache Camel