Package com.tangosol.net.proxy
Class DefaultProxyServiceLoadBalancer
java.lang.Object
com.tangosol.util.Base
com.tangosol.net.AbstractServiceLoadBalancer<ProxyService,ProxyServiceLoad>
 
com.tangosol.net.SimpleServiceLoadBalancer<ProxyService,ProxyServiceLoad>
 
com.tangosol.net.proxy.DefaultProxyServiceLoadBalancer
- All Implemented Interfaces:
- ProxyServiceLoadBalancer,- ServiceLoadBalancer<ProxyService,,- ProxyServiceLoad> - Comparator<ProxyServiceLoad>
public class DefaultProxyServiceLoadBalancer
extends SimpleServiceLoadBalancer<ProxyService,ProxyServiceLoad>
implements ProxyServiceLoadBalancer 
Default ProxyServiceLoadBalancer implementation.
 
This implementation will redirect a new client connection to another ProxyService Member if a less utilized Member is identified. A Member is considered less utilized than another iff it's associated ProxyServiceLoad object is less than the ProxyServiceLoad of the other Member according to the Comparator specified during construction. By default, the natural ordering of the ProxyServiceLoad objects is used.
- Author:
- jh 2010.12.10
- 
Nested Class SummaryNested classes/interfaces inherited from class com.tangosol.util.BaseBase.LoggingWriter
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected ProxyServiceLoadThe ServiceLoad associated with the "local" Member.Fields inherited from class com.tangosol.net.SimpleServiceLoadBalancerm_mapLoad, m_mapMemberFields inherited from class com.tangosol.net.AbstractServiceLoadBalancerm_service
- 
Constructor SummaryConstructorsConstructorDescriptionDefault constructor.DefaultProxyServiceLoadBalancer(Comparator comparator) Create a new DefaultProxyServiceLoadBalancer that will order ProxyServiceLoad objects using the specified Comparator.
- 
Method SummaryModifier and TypeMethodDescriptiongetMemberList(Member client) Called by the Service when a new client connects to obtain an ordered list of Members to which the new client should be redirected.voidupdate(Member member, ProxyServiceLoad load) Update the load balancing strategy in response to a change in a Service utilization.Methods inherited from class com.tangosol.net.SimpleServiceLoadBalancercompareMethods inherited from class com.tangosol.net.AbstractServiceLoadBalancergetLocalMember, getService, init, isLocalMemberMethods inherited from class com.tangosol.util.Baseazzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, waitMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparatorequals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongMethods inherited from interface com.tangosol.net.ServiceLoadBalancercompare, init
- 
Field Details- 
m_loadLocalThe ServiceLoad associated with the "local" Member.
 
- 
- 
Constructor Details- 
DefaultProxyServiceLoadBalancerpublic DefaultProxyServiceLoadBalancer()Default constructor.
- 
DefaultProxyServiceLoadBalancerCreate a new DefaultProxyServiceLoadBalancer that will order ProxyServiceLoad objects using the specified Comparator. If null, the natural ordering of the ProxyServiceLoad objects will be used.- Parameters:
- comparator- the Comparator used to order ProxyServiceLoad objects
 
 
- 
- 
Method Details- 
updateDescription copied from class:SimpleServiceLoadBalancerUpdate the load balancing strategy in response to a change in a Service utilization.- Specified by:
- updatein interface- ServiceLoadBalancer<ProxyService,- ProxyServiceLoad> 
- Overrides:
- updatein class- SimpleServiceLoadBalancer<ProxyService,- ProxyServiceLoad> 
- Parameters:
- member- the Member for which the utilization changed
- load- the updated ServiceLoad; if null, the utilization for the specified Member is unknown (e.g. when the Service on the specified Member leaves the cluster)
 
- 
getMemberListDescription copied from class:SimpleServiceLoadBalancerCalled by the Service when a new client connects to obtain an ordered list of Members to which the new client should be redirected. If the returned list is null, empty, or contains a single Member that is the "local" Member, the client will remain connected to the calling Service.- Specified by:
- getMemberListin interface- ServiceLoadBalancer<ProxyService,- ProxyServiceLoad> 
- Overrides:
- getMemberListin class- SimpleServiceLoadBalancer<ProxyService,- ProxyServiceLoad> 
- Parameters:
- client- the Member object that represents the remote client
- Returns:
- the ordered list of Member objects to which the client should be redirected
 
 
-