org.objectweb.cjdbc.controller.loadbalancer.raidb1
Class RAIDb1_RR
java.lang.Object
javax.management.StandardMBean
org.objectweb.cjdbc.controller.jmx.AbstractStandardMBean
org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer
org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1
org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1_RR
- All Implemented Interfaces:
- AbstractLoadBalancerMBean, javax.management.DynamicMBean, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, XmlComponent
- public class RAIDb1_RR
- extends RAIDb1
RAIDb-1 Round Robin load balancer
The read requests coming from the Request Manager are sent in a round robin
to the backend nodes. Write requests are broadcasted to all backends.
- Version:
- 1.0
- Author:
- Emmanuel Cecchet , Julie Marguerite
Nested classes inherited from class javax.management.StandardMBean |
|
Field Summary |
private int |
index
|
Fields inherited from class javax.management.StandardMBean |
|
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1 |
begin, commit, disableBackend, enableBackend, execReadStoredProcedure, executeRequestOnBackend, executeStoredProcedureOnBackend, execWriteRequest, execWriteRequestWithKeys, execWriteStoredProcedure, getNumberOfEnabledBackends, getXmlImpl, releaseSavepoint, rollback, rollback, setSavepoint, waitForAllWritesToComplete, waitForAllWritesToComplete, waitForAllWritesToComplete |
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer |
executeReadStoredProcedureOnBackend, executeSelectRequestOnBackend, executeUpdateRequestOnBackend, executeUpdateRequestOnBackendWithKeys, executeWriteStoredProcedureOnBackend, getAssociatedString, getConnectionAndBeginTransaction, getParsingGranularity, getRAIDbLevel, getXml, handleMacros, removeHeadFromAndNotifyTotalOrderQueue, setMacroHandler, setParsingGranularity, setRAIDbLevel, setWeight, waitForTotalOrder |
Methods inherited from class org.objectweb.cjdbc.controller.jmx.AbstractStandardMBean |
addNotificationListener, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getNotificationInfo, getParameterName, getParameterName, removeNotificationListener, removeNotificationListener, sendNotification |
Methods inherited from class javax.management.StandardMBean |
cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, invoke, setAttribute, setAttributes, setImplementation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
index
private int index
RAIDb1_RR
public RAIDb1_RR(VirtualDatabase vdb,
WaitForCompletionPolicy waitForCompletionPolicy)
throws java.lang.Exception
- Creates a new RAIDb-1 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.lang.Exception
- if an error occurs
execReadRequest
public ControllerResultSet execReadRequest(SelectRequest request,
MetadataCache metadataCache)
throws java.sql.SQLException
- Selects the backend using a simple round-robin algorithm and executes the
read request.
- Specified by:
execReadRequest
in class RAIDb1
- Throws:
java.sql.SQLException
- See Also:
RAIDb1.execReadRequest(SelectRequest,
MetadataCache)
execReadOnlyReadStoredProcedure
public ControllerResultSet execReadOnlyReadStoredProcedure(StoredProcedure proc,
MetadataCache metadataCache)
throws java.sql.SQLException
- Selects the backend using a simple round-robin algorithm and executes the
read request.
- Specified by:
execReadOnlyReadStoredProcedure
in class AbstractLoadBalancer
- Parameters:
proc
- the stored procedure callmetadataCache
- MetadataCache (null if none)
- Returns:
- a
ControllerResultSet
value
- Throws:
java.sql.SQLException
- if an error occurs- See Also:
AbstractLoadBalancer.execReadOnlyReadStoredProcedure(StoredProcedure,
MetadataCache)
executeRoundRobinRequest
private ControllerResultSet executeRoundRobinRequest(AbstractRequest request,
boolean isSelect,
java.lang.String errorMsgPrefix,
MetadataCache metadataCache)
throws java.sql.SQLException
- Common code to execute a SelectRequest or a StoredProcedure on a backend
chosen using a round-robin algorithm.
- Parameters:
request
- a SelectRequest
or
StoredProcedure
isSelect
- true if it is a SelectRequest
, false if it
is a StoredProcedure
errorMsgPrefix
- the error message prefix, usually "Request " or
"Stored procedure " ... failed because ...metadataCache
- a metadataCache if any or null
- Returns:
- a
ResultSet
- Throws:
java.sql.SQLException
- if an error occurs
getInformation
public java.lang.String getInformation()
- Gets information about the request load balancer.
- Specified by:
getInformation
in interface AbstractLoadBalancerMBean
- Specified by:
getInformation
in class AbstractLoadBalancer
- Returns:
String
containing information
getRaidb1Xml
public java.lang.String getRaidb1Xml()
- Description copied from class:
RAIDb1
- Surrounding raidb1 tags can be treated by getXmlImpl
above, but more detailed content have to be returned by the method
getRaidb1Xml below.
- Specified by:
getRaidb1Xml
in class RAIDb1
- Returns:
- content of Raidb1 xml
- See Also:
RAIDb1.getRaidb1Xml()
Copyright © 2002, 2005 - ObjectWeb Consortium - All Rights Reserved.