org.objectweb.cjdbc.controller.loadbalancer.raidb1
Class RAIDb1ec
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.RAIDb1ec
- All Implemented Interfaces:
- AbstractLoadBalancerMBean, javax.management.DynamicMBean, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, XmlComponent
- Direct Known Subclasses:
- RAIDb1ec_RR, RAIDb1ec_WRR
- public abstract class RAIDb1ec
- extends RAIDb1
RAIDb-1 load balancer.
This class is an abstract call because the read requests coming from the
request manager are NOT treated here but in the subclasses. Transaction
management and write requests are broadcasted to all backends.
- Version:
- 1.0
- Author:
- Emmanuel Cecchet
Nested classes inherited from class javax.management.StandardMBean |
|
Fields inherited from class javax.management.StandardMBean |
|
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.raidb1.RAIDb1 |
begin, commit, execReadRequest, execReadStoredProcedure, executeRequestOnBackend, executeStoredProcedureOnBackend, execWriteRequest, execWriteRequestWithKeys, execWriteStoredProcedure, getNumberOfEnabledBackends, getRaidb1Xml, releaseSavepoint, rollback, rollback, setSavepoint, waitForAllWritesToComplete, waitForAllWritesToComplete, waitForAllWritesToComplete |
Methods inherited from class org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer |
execReadOnlyReadStoredProcedure, executeReadStoredProcedureOnBackend, executeSelectRequestOnBackend, executeUpdateRequestOnBackend, executeUpdateRequestOnBackendWithKeys, executeWriteStoredProcedureOnBackend, getAssociatedString, getConnectionAndBeginTransaction, getInformation, 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 |
backendReadThreads
protected java.util.ArrayList backendReadThreads
nbOfConcurrentReads
protected int nbOfConcurrentReads
errorCheckingPolicy
protected ErrorCheckingPolicy errorCheckingPolicy
logger
protected static Trace logger
RAIDb1ec
public RAIDb1ec(VirtualDatabase vdb,
WaitForCompletionPolicy waitForCompletionPolicy,
ErrorCheckingPolicy errorCheckingPolicy,
int nbOfConcurrentReads)
throws java.lang.Exception
- Creates a new RAIDb-1 Round Robin request load balancer. A new backend
worker thread is created for each backend.
- Parameters:
vdb
- the virtual database this load balancer belongs towaitForCompletionPolicy
- how many backends must complete before
returning the result?errorCheckingPolicy
- policy to apply for error checking.nbOfConcurrentReads
- number of concurrent reads allowed
- Throws:
java.lang.Exception
- if an error occurs
enableBackend
public void enableBackend(DatabaseBackend db,
boolean writeEnabled)
throws java.sql.SQLException
- Enables a backend that was previously disabled.
Ask the corresponding connection manager to initialize the connections if
needed.
No sanity checks are performed by this function.
- Overrides:
enableBackend
in class RAIDb1
- Parameters:
db
- the database backend to enablewriteEnabled
- True if the backend must be enabled for writes
- Throws:
java.sql.SQLException
- if an error occurs
disableBackend
public void disableBackend(DatabaseBackend db)
throws java.sql.SQLException
- Disables a backend that was previously enabled.
Ask the corresponding connection manager to finalize the connections if
needed.
No sanity checks are performed by this function.
- Overrides:
disableBackend
in class RAIDb1
- Parameters:
db
- the database backend to disable
- Throws:
java.sql.SQLException
- if an error occurs
getXmlImpl
public java.lang.String getXmlImpl()
- Description copied from class:
AbstractLoadBalancer
- Get information about the Request Load Balancer in xml
- Overrides:
getXmlImpl
in class RAIDb1
- See Also:
AbstractLoadBalancer.getXmlImpl()
Copyright © 2002, 2005 - ObjectWeb Consortium - All Rights Reserved.