|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.objectweb.cjdbc.driver.connectpolicy.AbstractControllerConnectPolicy
This class defines an AbstractControllerConnectPolicy used by the driver to choose a controller to connect to.
Field Summary | |
protected ControllerInfo[] |
controllerList
|
private ControllerPingThread |
controllerPingThread
|
protected int |
debugLevel
|
private long |
retryIntervalInMs
|
protected java.util.HashSet |
suspectedControllers
|
Constructor Summary | |
AbstractControllerConnectPolicy(ControllerInfo[] controllerList,
long retryIntervalInMs,
int debugLevel)
Creates a new AbstractControllerConnectPolicy object |
Method Summary | |
protected void |
finalize()
Terminate the controller ping thread if any and cleanup the suspected controller list. |
abstract ControllerInfo |
getController()
Get a controller using the implementation specific policy |
ControllerInfo[] |
getControllerList()
Returns the controllerList value. |
java.util.HashSet |
getSuspectedControllers()
Returns the suspectedControllers value. |
boolean |
isSuspectedOfFailure(ControllerInfo controllerInfo)
Returns true if the specified controller is suspected of failure. |
void |
removeControllerFromSuspectList(ControllerInfo controller)
Remove the specified controller from the list of suspect controllers |
void |
setControllerList(ControllerInfo[] controllerList)
Sets the controllerList value. |
void |
suspectControllerOfFailure(ControllerInfo controllerInfo)
Add the controller to the list of suspects. |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected ControllerInfo[] controllerList
protected java.util.HashSet suspectedControllers
private long retryIntervalInMs
private ControllerPingThread controllerPingThread
protected int debugLevel
Constructor Detail |
public AbstractControllerConnectPolicy(ControllerInfo[] controllerList, long retryIntervalInMs, int debugLevel)
AbstractControllerConnectPolicy
object
controllerList
- the controller list on which the policy appliesretryIntervalInMs
- Interval in milliseconds before retrying to
re-connect to a controller that has faileddebugLevel
- the debug level to useCjdbcUrl.DEBUG_LEVEL_OFF
Method Detail |
protected void finalize() throws java.lang.Throwable
java.lang.Throwable
Object.finalize()
public abstract ControllerInfo getController() throws NoMoreControllerException
ControllerInfo
of the selected controller
NoMoreControllerException
- if no controller in the controller list
is reachablepublic ControllerInfo[] getControllerList()
public java.util.HashSet getSuspectedControllers()
public boolean isSuspectedOfFailure(ControllerInfo controllerInfo)
controllerInfo
- the controller to check
public void setControllerList(ControllerInfo[] controllerList)
controllerList
- The controllerList to set.public void suspectControllerOfFailure(ControllerInfo controllerInfo)
controllerInfo
- the controller suspected of failurepublic void removeControllerFromSuspectList(ControllerInfo controller)
controller
- the controller to remove from the list
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |