public abstract class Balancer<T>
extends java.lang.Object
| Constructor and Description |
|---|
Balancer() |
| Modifier and Type | Method and Description |
|---|---|
void |
addService(T service) |
<R> R |
execute(FunctionWithException<T,R,java.lang.Exception> submit) |
int |
getAvailable() |
long |
getRecoveryPeriod() |
T |
getService() |
long |
getTimeout() |
boolean |
isThreadSafe() |
protected void |
recover(T service) |
void |
setRecoveryPeriod(long recoveryPeriod) |
void |
setThreadSafe(boolean threadSafe) |
void |
setTimeout(long timeout) |
protected boolean |
shouldRecover(java.lang.Exception exception) |
void |
start() |
protected abstract void |
start(T service) |
void |
stop() |
protected abstract void |
stop(T service) |
public T getService()
public long getTimeout()
public void setTimeout(long timeout)
public long getRecoveryPeriod()
public void setRecoveryPeriod(long recoveryPeriod)
public boolean isThreadSafe()
public void setThreadSafe(boolean threadSafe)
public void addService(T service)
public int getAvailable()
public void start()
public void stop()
protected abstract void start(T service) throws java.io.IOException
java.io.IOExceptionprotected abstract void stop(T service) throws java.io.IOException
java.io.IOExceptionprotected void recover(T service)
public <R> R execute(FunctionWithException<T,R,java.lang.Exception> submit) throws java.io.IOException
java.io.IOExceptionprotected boolean shouldRecover(java.lang.Exception exception)