org.objectweb.cjdbc.controller.loadbalancer.raidb2
Class RAIDb2ec_RR
java.lang.Object
javax.management.StandardMBean
org.objectweb.cjdbc.controller.jmx.AbstractStandardMBean
org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer
org.objectweb.cjdbc.controller.loadbalancer.raidb2.RAIDb2
org.objectweb.cjdbc.controller.loadbalancer.raidb2.RAIDb2ec
org.objectweb.cjdbc.controller.loadbalancer.raidb2.RAIDb2ec_RR
- All Implemented Interfaces:
- AbstractLoadBalancerMBean, javax.management.DynamicMBean, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, XmlComponent
- public class RAIDb2ec_RR
- extends RAIDb2ec
RAIDb-2 Round Robin load balancer with error checking
This load balancer tolerates byzantine failures of databases. The read
requests coming from the Request Manager are sent to multiple backend nodes
and the results are compared. 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 java.util.Vector |
backends
|
Fields inherited from class javax.management.StandardMBean |
|
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb2.RAIDb2 |
begin, commit, execReadStoredProcedure, executeRequestOnBackend, executeStoredProcedureOnBackend, execWriteRequest, execWriteRequestWithKeys, execWriteStoredProcedure, getNumberOfEnabledBackends, 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 |
backends
private java.util.Vector backends
RAIDb2ec_RR
public RAIDb2ec_RR(VirtualDatabase vdb,
WaitForCompletionPolicy waitForCompletionPolicy,
CreateTablePolicy createTablePolicy,
ErrorCheckingPolicy errorCheckingPolicy,
int nbOfConcurrentReads)
throws java.lang.Exception
- Creates a new RAIDb-2 Round Robin with error checking request load
balancer.
- Parameters:
vdb
- The virtual database this load balancer belongs to.waitForCompletionPolicy
- How many backends must complete before
returning the result?createTablePolicy
- The policy defining how 'create table' statements
should be handlederrorCheckingPolicy
- Policy to apply for error checking.nbOfConcurrentReads
- Number of concurrent reads allowed
- Throws:
java.lang.Exception
- if an error occurs
execReadRequest
public ControllerResultSet execReadRequest(SelectRequest request,
MetadataCache metadataCache)
throws java.sql.SQLException
- Performs a read request. It is up to the implementation to choose to which
backend node(s) this request should be sent.
- Specified by:
execReadRequest
in class RAIDb2
- Parameters:
request
- an SelectRequest
metadataCache
- cached metadata to use to construct the result set
- Returns:
- the corresponding
java.sql.ResultSet
- Throws:
java.sql.SQLException
- if an error occurs- See Also:
RAIDb2.execReadRequest(SelectRequest,
MetadataCache)
execReadOnlyReadStoredProcedure
public ControllerResultSet execReadOnlyReadStoredProcedure(StoredProcedure proc,
MetadataCache metadataCache)
throws java.sql.SQLException
- Not implemented.
- 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)
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
getRaidb2Xml
public java.lang.String getRaidb2Xml()
- Description copied from class:
RAIDb2
- return xml formatted information about this raidb2 load balancer
- Specified by:
getRaidb2Xml
in class RAIDb2
- Returns:
- xml formatted string
- See Also:
RAIDb2.getRaidb2Xml()
Copyright © 2002, 2005 - ObjectWeb Consortium - All Rights Reserved.