|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjavax.management.StandardMBean
org.objectweb.cjdbc.controller.jmx.AbstractStandardMBean
org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabase
A VirtualDatabase represents a database from client point of
view and hide the complexity of the cluster distribution to the client. The
client always uses the virtual database name and the C-JDBC Controller will
use the real connections when an SQL request comes in.
| Nested Class Summary |
| Nested classes inherited from class javax.management.StandardMBean |
|
| Field Summary | |
private java.util.ArrayList |
activeThreads
|
protected AuthenticationManager |
authenticationManager
Authentification manager matching virtual database login/password to backends login/password |
protected java.util.ArrayList |
backends
ArrayList of DatabaseBackend objects |
private AbstractBlobFilter |
blobFilter
The filter used to store blobs in the database |
static int |
CHECK_BACKEND_DISABLE
Use for method getAndCheck |
static int |
CHECK_BACKEND_ENABLE
Use for method getAndCheck |
(package private) Controller |
controller
The controller we belong to |
protected int |
currentNbOfThreads
Current number of worker threads |
private java.lang.String |
databaseProductNames
Comma separated list of database product names (one instance per name) |
private int |
idleThreads
|
Trace |
logger
Virtual database logger |
protected int |
maxNbOfConnections
Maximum number of concurrent accepted for this virtual database |
protected int |
maxNbOfThreads
Maximum number of worker threads to fork |
protected long |
maxThreadIdleTime
Maximum time a worker thread can remain idle before dying |
protected VirtualDatabaseDynamicMetaData |
metadata
Virtual Database MetaData |
protected int |
minNbOfThreads
Minimum number of worker threads to keep in the pool if poolConnectionThreads is true |
protected java.lang.String |
name
Virtual database name |
static int |
NO_CHECK_BACKEND
Use for method getAndCheck |
private java.util.ArrayList |
pendingConnections
|
protected boolean |
poolConnectionThreads
If false one worker thread is forked per connection else |
protected Trace |
requestLogger
|
protected RequestManager |
requestManager
The request manager to use for this database |
protected ReadPrioritaryFIFOWriteLock |
rwLock
Read/Write lock for backend list |
private static long |
serialVersionUID
|
private boolean |
shuttingDown
Marker to see if the database is shutting down |
private SQLMonitoring |
sqlMonitor
|
private int |
sqlShortFormLength
Short form of SQL statements to include in traces and exceptions |
private VirtualDatabaseStaticMetaData |
staticMetadata
|
protected java.util.LinkedList |
totalOrderQueue
ArrayList to store the order of requests |
| Fields inherited from class org.objectweb.cjdbc.controller.jmx.AbstractStandardMBean |
|
| Fields inherited from class javax.management.StandardMBean |
|
| Fields inherited from interface org.objectweb.cjdbc.common.xml.XmlComponent |
DOCTYPE_CONTROLLER, DOCTYPE_DB, XML_VERSION |
| Constructor Summary | |
VirtualDatabase(Controller controller,
java.lang.String name,
int maxConnections,
boolean pool,
int minThreads,
int maxThreads,
long maxThreadIdleTime,
int sqlShortFormLength,
AbstractBlobFilter blobFilter)
Creates a new VirtualDatabase instance. |
|
| Method Summary | |
void |
abort(long transactionId,
boolean logAbort)
Abort a transaction that has been started but in which no query was executed. |
void |
acquireReadLockBackendLists()
Acquires a read lock on the backend lists (both enabled and disabled backends). |
void |
addBackend(DatabaseBackend db)
Add a backend to this virtual database. |
void |
addBackend(DatabaseBackend db,
boolean checkForCompliance)
Add a backend to this virtual database. |
void |
addCurrentNbOfThread()
Adds one to currentNbOfThreads. |
void |
addIdleThread()
Method add an idle thread. |
void |
backupBackend(java.lang.String backendName,
java.lang.String login,
java.lang.String password,
java.lang.String dumpName,
java.lang.String backuperName,
java.lang.String path,
java.util.ArrayList tables)
Create a backup of a specific backend. |
long |
begin(java.lang.String login)
Begins a new transaction and returns the corresponding transaction identifier. |
boolean |
checkAdminAuthentication(java.lang.String adminLogin,
java.lang.String adminPassword)
Checks if a given admin login/password is ok. |
boolean |
checkUserAuthentication(java.lang.String virtualLogin,
java.lang.String virtualPassword)
Checks if a given virtual login/password is ok. |
void |
cleanMonitoringData()
Clean data collected by the current monitoring system, to avoid memory problems. |
void |
commit(long transactionId,
boolean logCommit)
Commits a transaction given its id. |
void |
copyDump(java.lang.String dumpName,
java.lang.String remoteControllerName)
Copy a local dump over to a remote member of this distributed vdb, making it available for restore operation. |
void |
copyLogFromCheckpoint(java.lang.String dumpName,
java.lang.String controllerName)
Copies a chunk of the local virtual database recovery log onto a remote controller's peer virtual database log. |
void |
deleteLogUpToCheckpoint(java.lang.String checkpointName)
Deletes the recovery log (if any) from the begining upto the specified checkpoint. |
void |
disableAllBackends()
Prepare this virtual database for shutdown. |
void |
disableAllBackendsWithCheckpoint(java.lang.String checkpoint)
Disable all backends and store a checkpoint |
void |
disableBackendWithCheckpoint(java.lang.String backendName)
Disables a backend once all the pending write queries are executed. |
void |
enableAllBackends()
Enable all the backends without any check. |
void |
enableAllBackendsFromCheckpoint()
Enable all backends from their last known states that has been recorded in the recovery log, and enable only the backends which where properly disabled. |
void |
enableBackendFromCheckpoint(java.lang.String backendName)
Enable the given backend from its last known checkpoint |
void |
enableBackendFromCheckpoint(java.lang.String backendName,
java.lang.String checkpointName)
Enable the given backend from the given checkpoint. |
boolean |
equals(java.lang.Object other)
Two virtual databases are equal if they have the same name and group. |
ControllerResultSet |
execReadRequest(SelectRequest request)
Performs a read request and returns the reply. |
ControllerResultSet |
execReadStoredProcedure(StoredProcedure proc)
Call a stored procedure that returns a ResultSet. |
int |
execWriteRequest(AbstractWriteRequest request)
Performs a write request and returns the number of rows affected. |
ControllerResultSet |
execWriteRequestWithKeys(AbstractWriteRequest request)
Performs a write request and returns the auto generated keys. |
protected int |
execWriteStoredProcedure(StoredProcedure proc)
Call a stored procedure that performs an update. |
void |
forceDisableBackend(java.lang.String backendName)
Disables a backend that is currently enabled on this virtual database (without further check). |
void |
forceEnableAllBackendsFromCheckpoint(java.lang.String checkpoint)
Prepare this virtual database for startup. |
void |
forceEnableBackend(java.lang.String backendName)
Enables a backend that has been previously added to this virtual database and that is in the disabled state. |
java.util.ArrayList |
getActiveThreads()
Returns the activeThreads. |
java.util.ArrayList |
getAllBackendNames()
Get a list of all DatabaseBackend names. |
DatabaseBackend |
getAndCheckBackend(java.lang.String backendName,
int testEnable)
Find the DatabaseBackend corresponding to the given backend name and check if it is possible to disable this backend. |
java.lang.String |
getAssociatedString()
Allow to retrieve internationalization description on mbeans as well |
AuthenticationManager |
getAuthenticationManager()
Returns the authentication manager of this virtual database. |
DumpInfo[] |
getAvailableDumps()
Get all available dump info for this virtual database |
java.lang.String |
getBackendInformation(java.lang.String backendName)
Return information about the specified backend. |
java.util.ArrayList |
getBackends()
Return the list of all backends |
java.lang.String |
getBackendSchema(java.lang.String backendName)
The getXml() method does not return the schema if it is not static anymore, to avoid confusion between static and dynamic schema. |
java.lang.String |
getBackendState(java.lang.String backendName)
Return the state of a given database backend |
BackendStatistics |
getBackendStatistics(java.lang.String backendName)
Retrieves an array of statistics of the given backend for this virtual database |
java.lang.String[] |
getBackuperNames()
Get the names of the Backupers available from this
BackupManager. |
AbstractBlobFilter |
getBlobFilter()
Return the BLOB filter used for this database |
int |
getCurrentNbOfThreads()
Returns the currentNbOfThreads. |
java.lang.String |
getDatabaseName()
Gets the virtual database name to be used by the client (C-JDBC driver) This method should be used for local references only (it is faster). |
java.lang.String |
getDatabaseProductName()
|
DatabaseSchema |
getDatabaseSchemaFromActiveBackends()
Get the current database schema from merging the schemas of all active backends. |
DatabaseSchema |
getDatabaseSchemaFromActiveBackendsAndRefreshDatabaseProductNames()
Get the current database schema from merging the schemas of all active backends. |
protected java.lang.String |
getDistributionXml()
Get the XML dump of the Distribution element if any. |
java.lang.String |
getDumpFormatForBackuper(java.lang.String backuperName)
Get the dump format associated to a given Backuper |
VirtualDatabaseDynamicMetaData |
getDynamicMetaData()
|
int |
getIdleThreads()
Returns the number of idle zorker threads. |
int |
getMaxNbOfConnections()
Returns the maxNbOfConnections. |
int |
getMaxNbOfThreads()
Returns the maxNbOfThreads. |
long |
getMaxThreadIdleTime()
Returns the maxThreadIdleTime. |
int |
getMinNbOfThreads()
Returns the minNbOfThreads. |
java.util.ArrayList |
getPendingConnections()
Returns the pendingConnections. |
RequestManager |
getRequestManager()
Gets the request manager associated to this database. |
SQLMonitoring |
getSQLMonitor()
Returns the current SQL monitor |
int |
getSQLShortFormLength()
Return the sql short form length to use when reporting an error. |
VirtualDatabaseStaticMetaData |
getStaticMetaData()
Get the whole static metadata for this virtual database. |
java.util.LinkedList |
getTotalOrderQueue()
Returns the totalOrderQueue value. |
java.lang.String |
getVirtualDatabaseName()
Gets the virtual database name to be used by the client (C-JDBC driver) |
java.lang.String |
getXml()
Retrieves this VirtualDatabase object in xml format |
boolean |
hasRecoveryLog()
Indicate if there is a recovery log defined for this virtual database |
boolean |
hasResultCache()
Indicate if there is a result cache defined for this virtual database |
boolean |
isDistributed()
Is this virtual database distributed ? |
boolean |
isPoolConnectionThreads()
Returns the poolConnectionThreads. |
boolean |
isShuttingDown()
Return true if this database is shutting down. |
void |
releaseReadLockBackendLists()
Releases the read lock on the backend lists (both enabled and disabled backends). |
void |
releaseSavepoint(long transactionId,
java.lang.String name)
Releases a savepoint given its name from a transaction given its id. |
void |
removeBackend(DatabaseBackend db)
Remove a backend from this virtual database. |
void |
removeBackend(java.lang.String backend)
Remove a backend from the virtual database list. |
void |
removeCheckpoint(java.lang.String checkpointName)
Remove a checkpoint from the recovery log of this virtual database |
void |
removeCurrentNbOfThread()
Substract one to currentNbOfThreads. |
boolean |
removeDump(java.lang.String dumpName)
Remove a dump from the controller repository |
void |
removeIdleThread()
Remove an idle thread. |
void |
replicateBackend(java.lang.String backendName,
java.lang.String newBackendName,
java.util.Map parameters)
Add an additionnal backend to the virtual database with connection managers identical to the backend replicated. |
void |
restoreDumpOnBackend(java.lang.String databaseBackendName,
java.lang.String login,
java.lang.String password,
java.lang.String dumpName,
java.util.ArrayList tables)
Restore a dump on a specific backend. |
java.lang.String[][] |
retrieveBackendsData()
Retrieves an array of data on the backends for this virtual database |
void |
rollback(long transactionId,
boolean logRollback)
Rollbacks a transaction given its id. |
void |
rollback(long transactionId,
java.lang.String savepointName)
Rollbacks a transaction given its id to a savepoint given its name |
void |
setAuthenticationManager(AuthenticationManager authenticationManager)
Sets the authentication manager for this virtual database. |
void |
setBackendLastKnownCheckpoint(java.lang.String backendName,
java.lang.String checkpoint)
Sets the last known checkpoint of a backend. |
void |
setBlobFilter(AbstractBlobFilter filter)
Set the BLOB filter to use for this database. |
void |
setCheckpoint(java.lang.String checkpointName)
Set a checkpoint for this virtual database. |
void |
setMaxNbOfConnections(int maxNbOfConnections)
Sets the maxNbOfConnections. |
void |
setMaxNbOfThreads(int maxNbOfThreads)
Sets the maxNbOfThreads. |
void |
setMaxThreadIdleTime(long maxThreadIdleTime)
Sets the maxThreadIdleTime. |
void |
setMinNbOfThreads(int minNbOfThreads)
Sets the minNbOfThreads. |
void |
setMonitoringToActive(boolean active)
If a monitoring section exists, we can set the monitoring on or off by calling this method. |
void |
setPoolConnectionThreads(boolean poolConnectionThreads)
Sets the poolConnectionThreads. |
void |
setRequestManager(RequestManager requestManager)
Sets a new request manager for this database. |
int |
setSavepoint(long transactionId)
Sets a unnamed savepoint to a transaction given its id. |
void |
setSavepoint(long transactionId,
java.lang.String name)
Sets a savepoint given its desired name to a transaction given its id. |
void |
setSQLMonitor(SQLMonitoring sqlMonitor)
Sets a new SQL Monitor |
void |
setStaticDatabaseSchema(DatabaseSchema schema)
Sets a new static database schema for this database if no one exist or merge the given schema to the existing one. |
void |
setTotalOrderQueue(java.util.LinkedList newQueue)
Sets the totalOrderQueue. |
void |
shutdown(int level)
Shutdown this virtual database. |
void |
storeBackendsInfo()
Write the checkpoints for all backends on the recovery log |
void |
transferBackend(java.lang.String backend,
java.lang.String controllerDestination)
Transfer the backend to the destinated controller. |
void |
transferDump(java.lang.String dumpName,
java.lang.String remoteControllerName,
boolean noCopy)
Transfer specified dump over to specified vdb's controller, making it available for restore operation. |
void |
updateDumpPath(java.lang.String dumpName,
java.lang.String newPath)
Update the path of the dump for a given dumpName. |
java.util.ArrayList |
viewAllClientNames()
Get all users connected to that database |
java.lang.String[] |
viewBackendInformation(java.lang.String backendName)
Returns an array of information on this backend The method above is not used at the moment ... |
java.util.ArrayList |
viewCheckpointNames()
Returns an array of names of all the checkpoint available in the recovery log of this virtual dabase. |
java.lang.String[] |
viewControllerList()
Return the list of controllers defining this virtual database. |
java.util.Hashtable |
viewGroupBackends()
Returns a mapping of controller jmx names with their backends. |
java.lang.String |
viewOwningController()
Name of the controller owning this virtual database |
| 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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private static final long serialVersionUID
protected java.lang.String name
protected AuthenticationManager authenticationManager
protected java.util.ArrayList backends
ArrayList of DatabaseBackend objects
protected ReadPrioritaryFIFOWriteLock rwLock
protected RequestManager requestManager
protected java.util.LinkedList totalOrderQueue
public Trace logger
protected Trace requestLogger
private java.util.ArrayList activeThreads
private int idleThreads
private java.util.ArrayList pendingConnections
protected int maxNbOfConnections
protected boolean poolConnectionThreads
protected long maxThreadIdleTime
protected int minNbOfThreads
protected int maxNbOfThreads
protected int currentNbOfThreads
protected VirtualDatabaseDynamicMetaData metadata
private VirtualDatabaseStaticMetaData staticMetadata
private SQLMonitoring sqlMonitor
public static final int CHECK_BACKEND_ENABLE
public static final int CHECK_BACKEND_DISABLE
public static final int NO_CHECK_BACKEND
private int sqlShortFormLength
private AbstractBlobFilter blobFilter
Controller controller
private java.lang.String databaseProductNames
private boolean shuttingDown
| Constructor Detail |
public VirtualDatabase(Controller controller,
java.lang.String name,
int maxConnections,
boolean pool,
int minThreads,
int maxThreads,
long maxThreadIdleTime,
int sqlShortFormLength,
AbstractBlobFilter blobFilter)
throws javax.management.NotCompliantMBeanException,
JmxException
VirtualDatabase instance.
name - the virtual database name.maxConnections - maximum number of concurrent connections.pool - should we use a pool of threads for handling connections?minThreads - minimum number of threads in the poolmaxThreads - maximum number of threads in the poolmaxThreadIdleTime - maximum time a thread can remain idle before being
removed from the pool.sqlShortFormLength - maximum number of characters of an SQL statement
to diplay in traces or exceptionsblobFilter - encoding method for blobscontroller - the controller we belong to
javax.management.NotCompliantMBeanException - in case the bean does not comply with
jmx
JmxException - could not register mbean| Method Detail |
public final void acquireReadLockBackendLists()
throws java.lang.InterruptedException
ArrayList.
java.lang.InterruptedException - if an error occurspublic final void releaseReadLockBackendLists()
ArrayList.
public boolean isDistributed()
isDistributed in interface VirtualDatabaseMBean
public boolean checkUserAuthentication(java.lang.String virtualLogin,
java.lang.String virtualPassword)
virtualLogin - the virtual user loginvirtualPassword - the virtual user password
true if the login/password is known from the
AuthenticationManager. Returns false
if no AuthenticationManager is defined.
public boolean checkAdminAuthentication(java.lang.String adminLogin,
java.lang.String adminPassword)
checkAdminAuthentication in interface VirtualDatabaseMBeanadminLogin - admin user loginadminPassword - admin user password
true if the login/password is known from the
AuthenticationManager. Returns false
if no AuthenticationManager is defined.
public ControllerResultSet execReadRequest(SelectRequest request)
throws java.sql.SQLException
request - the request to execute
ControllerResultSet value
java.sql.SQLException - if the request fails
public int execWriteRequest(AbstractWriteRequest request)
throws java.sql.SQLException
request - the request to execute
java.sql.SQLException - if the request fails
public ControllerResultSet execWriteRequestWithKeys(AbstractWriteRequest request)
throws java.sql.SQLException
request - the request to execute
java.sql.SQLException - if the request fails
public ControllerResultSet execReadStoredProcedure(StoredProcedure proc)
throws java.sql.SQLException
proc - the stored procedure call
java.sql.ResultSet value
java.sql.SQLException - if an error occurs
protected int execWriteStoredProcedure(StoredProcedure proc)
throws java.sql.SQLException
proc - the stored procedure call
java.sql.SQLException - if an error occurs
public long begin(java.lang.String login)
throws java.sql.SQLException
Connection.setAutoCommit(boolean)is
called with false argument.
Note that the transaction begin is not logged in the recovery log by this method, you will have to call logLazyTransactionBegin.
login - the login used by the connection
java.sql.SQLException - if an error occursRequestManager.logLazyTransactionBegin(long)
public void abort(long transactionId,
boolean logAbort)
throws java.sql.SQLException
transactionId - id of the transaction to abortlogAbort - true if the abort (in fact rollback) should be logged in
the recovery log
java.sql.SQLException - if an error occurs
public void commit(long transactionId,
boolean logCommit)
throws java.sql.SQLException
transactionId - the transaction idlogCommit - true if the commit should be logged in the recovery log
java.sql.SQLException - if an error occurs
public void rollback(long transactionId,
boolean logRollback)
throws java.sql.SQLException
transactionId - the transaction idlogRollback - true if the rollback should be logged in the recovery
log
java.sql.SQLException - if an error occurs
public void rollback(long transactionId,
java.lang.String savepointName)
throws java.sql.SQLException
transactionId - the transaction idsavepointName - the name of the savepoint
java.sql.SQLException - if an error occurs
public int setSavepoint(long transactionId)
throws java.sql.SQLException
transactionId - the transaction id
java.sql.SQLException - if an error occurs
public void setSavepoint(long transactionId,
java.lang.String name)
throws java.sql.SQLException
transactionId - the transaction idname - the desired name of the savepoint
java.sql.SQLException - if an error occurs
public void releaseSavepoint(long transactionId,
java.lang.String name)
throws java.sql.SQLException
transactionId - the transaction idname - the name of the savepoint
java.sql.SQLException - if an error occurs
public void addBackend(DatabaseBackend db)
throws VirtualDatabaseException
db - the database backend to add
VirtualDatabaseException - if an error occurs
public void addBackend(DatabaseBackend db,
boolean checkForCompliance)
throws VirtualDatabaseException
db - the database backend to addcheckForCompliance - should load the driver ?
VirtualDatabaseException - if an error occurs
public void forceDisableBackend(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
forceDisableBackend in interface VirtualDatabaseMBeanbackendName - The database backend logical name to enable
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.forceDisableBackend(String)
public void disableAllBackends()
throws VirtualDatabaseException
disableAllBackends in interface VirtualDatabaseMBeanVirtualDatabaseException - if an error occurs
public void disableBackendWithCheckpoint(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
disableBackendWithCheckpoint in interface VirtualDatabaseMBeanbackendName - The database backend logical name to disable
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.disableBackendWithCheckpoint(String)
public void disableAllBackendsWithCheckpoint(java.lang.String checkpoint)
throws VirtualDatabaseException
VirtualDatabaseMBean
disableAllBackendsWithCheckpoint in interface VirtualDatabaseMBeancheckpoint - the name of the checkpoitn
VirtualDatabaseException - if failsVirtualDatabaseMBean.disableAllBackendsWithCheckpoint(java.lang.String)
public void forceEnableBackend(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
forceEnableBackend in interface VirtualDatabaseMBeanbackendName - The database backend logical name to enable
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.forceEnableBackend(String)
public void enableBackendFromCheckpoint(java.lang.String backendName,
java.lang.String checkpointName)
throws VirtualDatabaseException
backendName - backend to enablecheckpointName - checkpoint to enable from
VirtualDatabaseException - if an error occurs
public void enableBackendFromCheckpoint(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
enableBackendFromCheckpoint in interface VirtualDatabaseMBeanbackendName - the name of the backend to enable
VirtualDatabaseException - if enable failed, or if there is no last
known checkpointVirtualDatabaseMBean.enableBackendFromCheckpoint(java.lang.String)
public void enableAllBackends()
throws VirtualDatabaseException
enableAllBackends in interface VirtualDatabaseMBeanVirtualDatabaseException - if fails
public void enableAllBackendsFromCheckpoint()
throws VirtualDatabaseException
VirtualDatabaseMBean
enableAllBackendsFromCheckpoint in interface VirtualDatabaseMBeanVirtualDatabaseException - if failsVirtualDatabaseMBean.enableAllBackendsFromCheckpoint()
public void forceEnableAllBackendsFromCheckpoint(java.lang.String checkpoint)
throws VirtualDatabaseException
checkpoint - checkpoint for recovery log
VirtualDatabaseException - if fails
public java.util.ArrayList getAllBackendNames()
throws VirtualDatabaseException
VirtualDatabaseMBean
getAllBackendNames in interface VirtualDatabaseMBeanArrayList of String
representing database backend names
VirtualDatabaseException - if an error occursVirtualDatabaseMBean.getAllBackendNames()
public DatabaseBackend getAndCheckBackend(java.lang.String backendName,
int testEnable)
throws VirtualDatabaseException
backendName - backend to look fortestEnable - NO_CHECK_BACKEND no check is done, CHECK_BACKEND_DISABLE
check if it is possible to disable the backend,
CHECK_BACKEND_ENABLE check if it is possible to enable the backend
VirtualDatabaseException - if an error occurs
public void replicateBackend(java.lang.String backendName,