Package org.apache.camel.model
Class LoadBalanceDefinition
java.lang.Object
org.apache.camel.model.OptionalIdentifiedDefinition<Type>
org.apache.camel.model.ProcessorDefinition<Type>
org.apache.camel.model.OutputDefinition<LoadBalanceDefinition>
org.apache.camel.model.LoadBalanceDefinition
- All Implemented Interfaces:
org.apache.camel.CamelContextAware
,org.apache.camel.LineNumberAware
,Block
,OutputNode
,org.apache.camel.NamedNode
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
@Metadata(label="eip,routing")
public class LoadBalanceDefinition
extends OutputDefinition<LoadBalanceDefinition>
Balances message processing among a number of nodes
-
Field Summary
Fields inherited from class org.apache.camel.model.OutputDefinition
outputs
Fields inherited from class org.apache.camel.model.ProcessorDefinition
disabled, inheritErrorHandler
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionUses the custom load balancerfailover()
Uses fail over load balancerfailover
(int maximumFailoverAttempts, boolean inheritErrorHandler, boolean roundRobin, boolean sticky, Class<?>... exceptions) Uses fail over load balancerfailover
(int maximumFailoverAttempts, boolean inheritErrorHandler, boolean roundRobin, Class<?>... exceptions) Uses fail over load balancerUses fail over load balancergetLabel()
Returns a label to describe this node such as the expression if some kind of expression nodeloadBalance
(org.apache.camel.processor.loadbalancer.LoadBalancer loadBalancer) Uses a custom load balancerrandom()
Uses random load balancerUses round robin load balancervoid
setLoadBalancerType
(LoadBalancerDefinition loadbalancer) The load balancer to be usedvoid
setOutputs
(List<ProcessorDefinition<?>> outputs) sticky
(org.apache.camel.Expression correlationExpression) Uses sticky load balancertopic()
Uses topic load balancertoString()
Uses weighted load balancerUses weighted load balancerMethods inherited from class org.apache.camel.model.ProcessorDefinition
addInterceptStrategy, addOutput, aggregate, aggregate, aggregate, aggregate, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, choice, circuitBreaker, claimCheck, claimCheck, claimCheck, claimCheck, clearOutput, configureChild, convertBodyTo, convertBodyTo, convertBodyTo, delay, delay, delay, disabled, disabled, disabled, doTry, dynamicRouter, dynamicRouter, end, endChoice, endCircuitBreaker, endDoCatch, endDoTry, endParent, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, filter, filter, filter, filter, getDisabled, getIndex, getInterceptStrategies, getParent, getRouteConfiguration, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, isAbstract, isInheritErrorHandler, isTopLevelOnly, isWrappingEntireOutput, kamelet, loadBalance, log, log, log, log, log, log, loop, loop, loop, loopDoWhile, loopDoWhile, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, nodePrefixId, onCompletion, onException, onException, pausable, pausable, pausable, pausable, pipeline, pipeline, pipeline, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, preCreateProcessor, process, process, process, recipientList, recipientList, recipientList, recipientList, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, resequence, resequence, resumable, resumable, resumable, rollback, rollback, routeDescription, routeGroup, routeId, routingSlip, routingSlip, routingSlip, saga, sample, sample, sample, sample, script, script, serviceCall, serviceCall, serviceCall, setBody, setBody, setBody, setDisabled, setExchangePattern, setExchangePattern, setHeader, setHeader, setHeader, setInheritErrorHandler, setParent, setProperty, setProperty, setProperty, setRouteConfiguration, sort, sort, sort, split, split, split, split, startupOrder, step, step, stop, threads, threads, threads, threads, throttle, throttle, throttle, throttle, throttle, throwException, throwException, to, to, to, to, to, to, to, to, to, to, to, to, toD, toD, toD, toD, toD, toD, toD, toF, transacted, transacted, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTap
Methods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
description, getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setId, setLineNumber, setLocation
-
Constructor Details
-
LoadBalanceDefinition
public LoadBalanceDefinition()
-
-
Method Details
-
getOutputs
- Overrides:
getOutputs
in classOutputDefinition<LoadBalanceDefinition>
-
setOutputs
- Overrides:
setOutputs
in classOutputDefinition<LoadBalanceDefinition>
-
getLoadBalancerType
-
setLoadBalancerType
The load balancer to be used -
loadBalance
public LoadBalanceDefinition loadBalance(org.apache.camel.processor.loadbalancer.LoadBalancer loadBalancer) Uses a custom load balancer- Overrides:
loadBalance
in classProcessorDefinition<LoadBalanceDefinition>
- Parameters:
loadBalancer
- the load balancer- Returns:
- the builder
-
failover
Uses fail over load balancer Will not round robin and inherit the error handler.- Returns:
- the builder
-
failover
Uses fail over load balancer Will not round robin and inherit the error handler.- Parameters:
exceptions
- exception classes which we want to failover if one of them was thrown- Returns:
- the builder
-
failover
public LoadBalanceDefinition failover(int maximumFailoverAttempts, boolean inheritErrorHandler, boolean roundRobin, Class<?>... exceptions) Uses fail over load balancer- Parameters:
maximumFailoverAttempts
- maximum number of failover attempts before exhausting. Use -1 to newer exhaust when round robin is also enabled. If round robin is disabled then it will exhaust when there are no more endpoints to failoverinheritErrorHandler
- whether or not to inherit error handler. If false then it will failover immediately in case of an exceptionroundRobin
- whether or not to use round robin (which keeps state)exceptions
- exception classes which we want to failover if one of them was thrown- Returns:
- the builder
-
failover
public LoadBalanceDefinition failover(int maximumFailoverAttempts, boolean inheritErrorHandler, boolean roundRobin, boolean sticky, Class<?>... exceptions) Uses fail over load balancer- Parameters:
maximumFailoverAttempts
- maximum number of failover attempts before exhausting. Use -1 to newer exhaust when round robin is also enabled. If round robin is disabled then it will exhaust when there are no more endpoints to failoverinheritErrorHandler
- whether or not to inherit error handler. If false then it will failover immediately in case of an exceptionroundRobin
- whether or not to use round robin (which keeps state)sticky
- whether or not to use sticky (which keeps state)exceptions
- exception classes which we want to failover if one of them was thrown- Returns:
- the builder
-
weighted
Uses weighted load balancer- Parameters:
roundRobin
- used to set the processor selection algorithm.distributionRatio
- String of weighted ratios for distribution of messages.- Returns:
- the builder
-
weighted
public LoadBalanceDefinition weighted(boolean roundRobin, String distributionRatio, String distributionRatioDelimiter) Uses weighted load balancer- Parameters:
roundRobin
- used to set the processor selection algorithm.distributionRatio
- String of weighted ratios for distribution of messages.distributionRatioDelimiter
- String containing delimiter to be used for ratios- Returns:
- the builder
-
roundRobin
Uses round robin load balancer- Returns:
- the builder
-
random
Uses random load balancer- Returns:
- the builder
-
custom
Uses the custom load balancer- Parameters:
ref
- reference to lookup a custom load balancer from theRegistry
to be used.- Returns:
- the builder
-
sticky
Uses sticky load balancer- Parameters:
correlationExpression
- the expression for correlation- Returns:
- the builder
-
topic
Uses topic load balancer- Returns:
- the builder
-
getShortName
- Specified by:
getShortName
in interfaceorg.apache.camel.NamedNode
- Overrides:
getShortName
in classOutputDefinition<LoadBalanceDefinition>
-
getLabel
Description copied from class:ProcessorDefinition
Returns a label to describe this node such as the expression if some kind of expression node- Specified by:
getLabel
in interfaceorg.apache.camel.NamedNode
- Overrides:
getLabel
in classProcessorDefinition<LoadBalanceDefinition>
-
toString
- Overrides:
toString
in classOutputDefinition<LoadBalanceDefinition>
-