Class WeightedLoadBalancer
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.AsyncProcessorSupport
-
- org.apache.camel.processor.loadbalancer.LoadBalancerSupport
-
- org.apache.camel.processor.loadbalancer.QueueLoadBalancer
-
- org.apache.camel.processor.loadbalancer.WeightedLoadBalancer
-
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.AsyncProcessor
,org.apache.camel.Navigate<org.apache.camel.Processor>
,org.apache.camel.Processor
,LoadBalancer
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
,org.apache.camel.spi.RouteIdAware
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
- Direct Known Subclasses:
WeightedRandomLoadBalancer
,WeightedRoundRobinLoadBalancer
public abstract class WeightedLoadBalancer extends QueueLoadBalancer
-
-
Field Summary
Fields Modifier and Type Field Description protected int
distributionRatioSum
protected List<DistributionRatio>
ratios
protected int
runtimeRatioSum
-
Constructor Summary
Constructors Constructor Description WeightedLoadBalancer(List<Integer> distributionRatios)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
decrementSum()
protected void
doStart()
int
getLastChosenProcessorIndex()
List<DistributionRatio>
getRatios()
protected void
reset()
-
Methods inherited from class org.apache.camel.processor.loadbalancer.QueueLoadBalancer
chooseProcessor, process
-
Methods inherited from class org.apache.camel.processor.loadbalancer.LoadBalancerSupport
addProcessor, doGetProcessors, doInit, doShutdown, doStop, getId, getProcessors, getRouteId, hasNext, next, removeProcessor, setId, setRouteId, toString
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doLifecycleChange, doResume, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
ratios
protected final List<DistributionRatio> ratios
-
distributionRatioSum
protected final int distributionRatioSum
-
runtimeRatioSum
protected int runtimeRatioSum
-
-
Method Detail
-
getLastChosenProcessorIndex
public int getLastChosenProcessorIndex()
-
doStart
protected void doStart() throws Exception
- Overrides:
doStart
in classLoadBalancerSupport
- Throws:
Exception
-
decrementSum
protected void decrementSum()
-
reset
protected void reset()
-
getRatios
public List<DistributionRatio> getRatios()
-
-