public class SimpleServiceLoadBalancer<S extends Service,T extends ServiceLoad> extends AbstractServiceLoadBalancer<S,T>
Base.LoggingWriter, Base.StackFrame
Modifier and Type | Field and Description |
---|---|
protected Map<Member,T> |
m_mapLoad
A Map of ServiceLoad objects keyed by their associated Member.
|
protected SortedMap<T,List<Member>> |
m_mapMember
A SortedMap of List of Member objects keyed by their associated
ServiceLoad.
|
m_service
Constructor and Description |
---|
SimpleServiceLoadBalancer()
Default constructor.
|
SimpleServiceLoadBalancer(Comparator<T> comparator)
Create a new SimpleServiceLoadBalancer that will order
ServiceLoad objects using the specified Comparator.
|
Modifier and Type | Method and Description |
---|---|
int |
compare(T load1,
T load2)
Compare to ServerLoad objects.
|
List<Member> |
getMemberList(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.
|
void |
update(Member member,
T load)
Update the load balancing strategy in response to a change in a
Service utilization.
|
getLocalMember, getService, init, isLocalMember
azzert, 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, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, 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, wait
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
protected final Map<Member,T extends ServiceLoad> m_mapLoad
protected final SortedMap<T extends ServiceLoad,List<Member>> m_mapMember
public SimpleServiceLoadBalancer()
public SimpleServiceLoadBalancer(Comparator<T> comparator)
comparator
- the Comparator used to order ServiceLoad
objectspublic void update(Member member, T load)
member
- the Member for which the utilization changedload
- 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)public List<Member> getMemberList(Member client)
client
- the Member object that represents the remote clientpublic int compare(T load1, T load2)
ServiceLoadBalancer
load1
- the first ServiceLoadload2
- the second ServiceLoad