org.objectweb.cjdbc.controller.loadbalancer.raidb1
Class RAIDb1_WRR
java.lang.Object
org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer
org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1
org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1_WRR
- public class RAIDb1_WRR
- extends RAIDb1
RAIDb-1 Weighted Round Robin load balancer
The read requests coming from the request manager are sent to the backend
nodes using a weighted round robin. Write requests are broadcasted to all
backends.
- Version:
- 1.0
- Author:
- Emmanuel Cecchet, Julie Marguerite, Nicolas Modrzyk
Field Summary |
private int |
index
|
private java.util.HashMap |
weights
|
Method Summary |
java.sql.ResultSet |
execReadRequest(SelectRequest request)
Selects the backend using a weighted round-robin algorithm and executes
the read request. |
java.lang.String |
getInformation()
Gets information about the request load balancer. |
protected java.lang.String |
getRaidb1Xml()
Surrounding raidb1 tags can be treated by
getXmlInformation above, but
more detailed content have to be returned by the method
getRaidb1Xmlbelow. |
void |
setWeight(java.lang.String name,
int w)
Associate a weight to a backend identified by its logical name. |
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1 |
begin, commit, disableBackend, enableBackend, execReadStoredProcedure, executeRequest, execWriteRequest, execWriteRequestWithKeys, execWriteStoredProcedure, getXmlInformation, getXmlWaitPolicy, rollback, waitForAllWritesToComplete, waitForAllWritesToComplete, waitForAllWritesToComplete |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
weights
private java.util.HashMap weights
index
private int index
RAIDb1_WRR
public RAIDb1_WRR(VirtualDatabase vdb,
WaitForCompletionPolicy waitForCompletionPolicy)
throws java.sql.SQLException
- Creates a new RAIDb-1 Weighted Round Robin request load balancer.
- Parameters:
vdb
- the virtual database this load balancer belongs to.waitForCompletionPolicy
- How many backends must complete before returning
the result?
- Throws:
java.sql.SQLException
- if an error occurs
execReadRequest
public java.sql.ResultSet execReadRequest(SelectRequest request)
throws java.sql.SQLException
- Selects the backend using a weighted round-robin algorithm and executes
the read request.
- Specified by:
execReadRequest
in class RAIDb1
- Throws:
java.sql.SQLException
- See Also:
RAIDb1.executeRequest(SelectRequest, DatabaseBackend)
setWeight
public void setWeight(java.lang.String name,
int w)
throws java.sql.SQLException
- Description copied from class:
AbstractLoadBalancer
- Associate a weight to a backend identified by its logical name.
- Overrides:
setWeight
in class AbstractLoadBalancer
- Parameters:
name
- the backend namew
- the weight
- Throws:
java.sql.SQLException
- if an error occurs- See Also:
AbstractLoadBalancer.setWeight(String, int)
getInformation
public java.lang.String getInformation()
- Gets information about the request load balancer.
- Specified by:
getInformation
in class AbstractLoadBalancer
- Returns:
String
containing information
getRaidb1Xml
protected java.lang.String getRaidb1Xml()
- Description copied from class:
RAIDb1
- Surrounding raidb1 tags can be treated by
getXmlInformation above, but
more detailed content have to be returned by the method
getRaidb1Xmlbelow.
- Specified by:
getRaidb1Xml
in class RAIDb1
- Returns:
- content of Raidb1 xml
- See Also:
RAIDb1.getRaidb1Xml()
Copyright © 2002, 2003 - ObjectWeb Consortium - All Rights Reserved.