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
Constructors Constructor Description LoadBalanceDefinition()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LoadBalanceDefinition
custom(String ref)
Uses the custom load balancerLoadBalanceDefinition
failover()
Uses fail over load balancerLoadBalanceDefinition
failover(int maximumFailoverAttempts, boolean inheritErrorHandler, boolean roundRobin, boolean sticky, Class<?>... exceptions)
Uses fail over load balancerLoadBalanceDefinition
failover(int maximumFailoverAttempts, boolean inheritErrorHandler, boolean roundRobin, Class<?>... exceptions)
Uses fail over load balancerLoadBalanceDefinition
failover(Class<?>... exceptions)
Uses fail over load balancerString
getLabel()
Returns a label to describe this node such as the expression if some kind of expression nodeLoadBalancerDefinition
getLoadBalancerType()
List<ProcessorDefinition<?>>
getOutputs()
String
getShortName()
LoadBalanceDefinition
loadBalance(org.apache.camel.processor.loadbalancer.LoadBalancer loadBalancer)
Uses a custom load balancerLoadBalanceDefinition
random()
Uses random load balancerLoadBalanceDefinition
roundRobin()
Uses round robin load balancervoid
setLoadBalancerType(LoadBalancerDefinition loadbalancer)
The load balancer to be usedvoid
setOutputs(List<ProcessorDefinition<?>> outputs)
LoadBalanceDefinition
sticky(org.apache.camel.Expression correlationExpression)
Uses sticky load balancerLoadBalanceDefinition
topic()
Uses topic load balancerString
toString()
LoadBalanceDefinition
weighted(boolean roundRobin, String distributionRatio)
Uses weighted load balancerLoadBalanceDefinition
weighted(boolean roundRobin, String distributionRatio, String distributionRatioDelimiter)
Uses weighted load balancer-
Methods 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, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, 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, 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, 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, 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, description, getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setId, setLineNumber, setLocation
-
-
-
-
Method Detail
-
getOutputs
public List<ProcessorDefinition<?>> getOutputs()
- Overrides:
getOutputs
in classOutputDefinition<LoadBalanceDefinition>
-
setOutputs
public void setOutputs(List<ProcessorDefinition<?>> outputs)
- Overrides:
setOutputs
in classOutputDefinition<LoadBalanceDefinition>
-
getLoadBalancerType
public LoadBalancerDefinition getLoadBalancerType()
-
setLoadBalancerType
public void setLoadBalancerType(LoadBalancerDefinition loadbalancer)
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
public LoadBalanceDefinition failover()
Uses fail over load balancer Will not round robin and inherit the error handler.- Returns:
- the builder
-
failover
public LoadBalanceDefinition failover(Class<?>... exceptions)
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
public LoadBalanceDefinition weighted(boolean roundRobin, String distributionRatio)
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
public LoadBalanceDefinition roundRobin()
Uses round robin load balancer- Returns:
- the builder
-
random
public LoadBalanceDefinition random()
Uses random load balancer- Returns:
- the builder
-
custom
public LoadBalanceDefinition custom(String ref)
Uses the custom load balancer- Parameters:
ref
- reference to lookup a custom load balancer from theRegistry
to be used.- Returns:
- the builder
-
sticky
public LoadBalanceDefinition sticky(org.apache.camel.Expression correlationExpression)
Uses sticky load balancer- Parameters:
correlationExpression
- the expression for correlation- Returns:
- the builder
-
topic
public LoadBalanceDefinition topic()
Uses topic load balancer- Returns:
- the builder
-
getShortName
public String getShortName()
- Specified by:
getShortName
in interfaceorg.apache.camel.NamedNode
- Overrides:
getShortName
in classOutputDefinition<LoadBalanceDefinition>
-
getLabel
public String 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
public String toString()
- Overrides:
toString
in classOutputDefinition<LoadBalanceDefinition>
-
-