public class WeightCluster<T extends ServiceProvider> extends Object implements Cluster<T>
| Modifier and Type | Class and Description |
|---|---|
class |
WeightCluster.MonitoringTask |
class |
WeightCluster.ProviderSelector |
| Modifier and Type | Field and Description |
|---|---|
protected static org.apache.commons.logging.Log |
log |
protected long |
monitorTimeout |
protected Timer |
monitorTimer |
protected HashMap<T,Integer> |
providers |
protected WeightCluster.ProviderSelector |
providerSelector |
| Constructor and Description |
|---|
WeightCluster() |
| Modifier and Type | Method and Description |
|---|---|
void |
addProvider(T provider,
int weight) |
void |
addProviders(Map<T,Integer> newProviders) |
void |
close() |
void |
disableProvider(T provider) |
void |
enableProvider(T provider) |
long |
getMonitorTimeout() |
T |
getProvider() |
Integer |
getWeight(T provider) |
protected void |
rebuildProviderSelector() |
void |
removeProvider(T provider) |
void |
removeProviders(Collection<T> oldProviders) |
List<T> |
replaceProviders(Map<T,Integer> newProviders) |
void |
setMonitorTimeout(long monitorTimeout) |
protected static final org.apache.commons.logging.Log log
protected final HashMap<T extends ServiceProvider,Integer> providers
protected Timer monitorTimer
protected long monitorTimeout
protected volatile WeightCluster.ProviderSelector providerSelector
public void close()
public long getMonitorTimeout()
public void setMonitorTimeout(long monitorTimeout)
public T getProvider() throws ServiceUnavailableException
getProvider in interface Cluster<T extends ServiceProvider>ServiceUnavailableExceptionpublic void enableProvider(T provider)
enableProvider in interface Cluster<T extends ServiceProvider>public void disableProvider(T provider)
disableProvider in interface Cluster<T extends ServiceProvider>public void addProvider(T provider, int weight)
public void removeProvider(T provider)
public void removeProviders(Collection<T> oldProviders)
protected void rebuildProviderSelector()
Copyright © 2019. All rights reserved.