public abstract class LoadBalancerSupport extends ServiceSupport implements LoadBalancer, Navigate<Processor>, IdAware
LoadBalancer implementation.
This implementation is dedicated for asynchronous load balancers.
Consider using the SimpleLoadBalancerSupport if your load balancer does not by nature
support asynchronous routing.| Modifier and Type | Field and Description |
|---|---|
protected org.slf4j.Logger |
log |
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending| Constructor and Description |
|---|
LoadBalancerSupport() |
| Modifier and Type | Method and Description |
|---|---|
void |
addProcessor(Processor processor)
Adds a new processor to the load balancer
|
protected void |
doShutdown()
Implementations override this method to perform customized shutdown.
|
protected void |
doStart()
Implementations override this method to support customized start/stop.
|
protected void |
doStop()
Implementations override this method to support customized start/stop.
|
String |
getId()
Returns the id
|
List<Processor> |
getProcessors()
Returns the current processors available to this load balancer
|
boolean |
hasNext()
Are there more outputs?
Important only invoke this once, as this method do not carry state, and is not intended to be used in a while loop,
but used by a if statement instead.
|
List<Processor> |
next()
Next group of outputs
Important only invoke this once, as this method do not carry state, and is not intended to be used in a while loop,
but used by a if statement instead.
|
void |
process(Exchange exchange)
Processes the message exchange
|
void |
removeProcessor(Processor processor)
Removes the given processor from the load balancer
|
void |
setId(String id)
Sets the id
|
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprocessprotected final org.slf4j.Logger log
public LoadBalancerSupport()
public void addProcessor(Processor processor)
LoadBalanceraddProcessor in interface LoadBalancerprocessor - the processor to be added to the load balancerpublic void removeProcessor(Processor processor)
LoadBalancerremoveProcessor in interface LoadBalancerprocessor - the processor to be removed from the load balancerpublic List<Processor> getProcessors()
LoadBalancergetProcessors in interface LoadBalancerpublic List<Processor> next()
Navigatepublic boolean hasNext()
Navigateprotected void doStart() throws Exception
ServiceSupportServiceSupport.doStop() for more details.doStart in class ServiceSupportExceptionServiceSupport.doStop()protected void doStop() throws Exception
ServiceSupportServiceSupport.doStop() method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext is shutting down.doStop in class ServiceSupportExceptionServiceSupport.doStart()protected void doShutdown() throws Exception
ServiceSupportdoShutdown in class ServiceSupportExceptionApache Camel