2. Enterprise Integration Patterns

balancer

Version

Performs load-balancing between several nodes. Nodes sharing session state may be bundled into a cluster.

Explanation:

May only be used as interceptor in a serviceProxy or api.

Attributes

NameRequiredDefaultDescriptionExamples
namefalseDefaultUniquely identifies this load balancer, if there is more than one. Used in the web administration interface and lbclient to manage nodes.balancer1
sessionTimeoutfalse3600000Time in milliseconds after which sessions time out. (If a session extractor is used.) Default is 1 hour, 0 means never.600000 (10min)
trackNodeStatusfalsefalseWhether to track the per-node result on every Exchange.-

Child Elements

ElementDescriptionCardinality
clusters0..*
faultMonitoringStrategyMonitors the outcome of requests to each node to quickly disable/re-enable faulty ones.0..1
jSessionIdExtractorThe jSessionIdExtractor extracts the JSESSIONID from a message and provides it to the {@link Balancer}.0..1
priorityStrategyDispatch strategy that selects cluster nodes based on ascending priority and health. Nodes are grouped by ascending priority. The highest-priority group with one or more healthy nodes (status UP) is chosen. If multiple nodes are healthy at that priority, one is selected at random. If no nodes are UP, falls back to the first node in sorted order.0..1
xmlSessionIdExtractorExtracts a session ID from an XML HTTP request body based on the qualified name of an XML element.0..1

Can be used in