|
|||||||||||
| 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 VirtualDatabaseMetaData |
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 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 |
| 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_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)
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 |
backupBackendWithCheckpoint(java.lang.String backendName,
java.lang.String checkpointName,
java.util.ArrayList tables)
Create a back up of a specific backend Note the backend will be disabled during backup, and will be put back to its previous state after backup. |
long |
begin(java.lang.String login)
Begins a new transaction and returns the corresponding transaction identifier. |
void |
callBackupManager(boolean backup,
java.lang.String backendName,
java.lang.String checkpoint,
java.util.ArrayList tables,
boolean enableAfter,
BackupListener listener)
Call the backup manager on the given backend. |
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)
Commits a transaction given its id. |
void |
disableAllBackend()
Prepare this virtual database for shutdown. |
void |
disableAllBackendForCheckpoint(java.lang.String checkpoint)
Disable all backends and store a checkpoint |
void |
disableBackend(java.lang.String backendName)
Disables a backend that is currently enabled on this virtual database (without further check). |
void |
disableBackendForCheckpoint(java.lang.String backendName,
java.lang.String checkpointName)
Disables a backend once all the pending write queries are executed. |
void |
enableAllBackend()
Prepare this virtual database for startup. |
void |
enableAllBackend(java.lang.String checkpoint)
Prepare this virtual database for startup. |
void |
enableAllBackendsFromRecovery(java.lang.String checkpoint)
This emulates the method enableAllBackend() except it tries to get previous backend states from the recovery log, and enable only the backends with a recorded state of enable. |
void |
enableBackend(java.lang.String backendName)
Enables a backend that has been previously added to this virtual database and that is in the disabled state. |
void |
enableBackendFromCheckpoint(java.lang.String backendName,
java.lang.String checkpointName)
Plays all the queries since the given checkpoint and enables the backend when it is completely synchronized. |
void |
enableBackendFromCheckpoint(java.lang.String backendName,
java.lang.String checkpointName,
boolean threaded)
Plays all the queries since the given checkpoint and enables the backend when it is completely synchronized. |
void |
enableBackendFromLastCheckpoint(java.lang.String backendName)
Enable the given backend from its last known 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. |
java.util.ArrayList |
getActiveThreads()
Returns the activeThreads. |
java.util.ArrayList |
getAllBackendNames()
|
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. |
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 |
AbstractBlobFilter |
getBlobFilter()
Returns the blobFilter associated to this virtual 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 |
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. |
int |
getIdleThreads()
Returns the number of idle zorker threads. |
int |
getMaxNbOfConnections()
Returns the maxNbOfConnections. |
int |
getMaxNbOfThreads()
Returns the maxNbOfThreads. |
long |
getMaxThreadIdleTime()
Returns the maxThreadIdleTime. |
VirtualDatabaseMetaData |
getMetaData()
|
int |
getMinNbOfThreads()
Returns the minNbOfThreads. |
java.lang.String |
getName()
Gets the virtual database name to be used by the client (C-JDBC driver) |
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. |
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 whether there is a recovery log defined for this virtual database |
boolean |
isDistributed()
Is this virtual database distributed ? |
boolean |
isPoolConnectionThreads()
Returns the poolConnectionThreads. |
void |
releaseReadLockBackendLists()
Releases the read lock on the backend lists (both enabled and disabled backends). |
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. |
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 |
restoreBackendFromBackupCheckpoint(java.lang.String databaseBackendName,
java.lang.String checkpointName)
Recopy all the data of a previous dump recorded by octopus into the named backend. |
java.lang.String[][] |
retrieveBackendsData()
Retrieves an array of data on the backends for this virtual database |
void |
rollback(long transactionId)
Rollbacks a transaction given its id. |
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)
Sets the blob encoder |
void |
setDatabaseSchema(DatabaseSchema schema,
boolean isStatic)
Sets a new database schema for this database if no one exist or merge the given schema to the existing one. |
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. |
void |
setSQLMonitor(SQLMonitoring sqlMonitor)
Sets a new SQL Monitor |
void |
shutdown()
Shutdown this virtual database in fast mode, disconnect clients |
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. |
java.util.ArrayList |
viewAllBackendNames()
Get the name of all DatabaseBackend names. |
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 Note the method is only useful in distributed environment |
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 |
protected java.lang.String name
protected AuthenticationManager authenticationManager
protected java.util.ArrayList backends
ArrayList of DatabaseBackend objects
protected ReadPrioritaryFIFOWriteLock rwLock
protected RequestManager requestManager
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 VirtualDatabaseMetaData metadata
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 java.lang.String getAssociatedString()
AbstractStandardMBean
getAssociatedString in class AbstractStandardMBeanAbstractStandardMBean.getAssociatedString()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.
login - the login used by the connection
java.sql.SQLException - if an error occurs
public void abort(long transactionId)
throws java.sql.SQLException
transactionId - id of the transaction to abort
java.sql.SQLException - if an error occurs
public void commit(long transactionId)
throws java.sql.SQLException
transactionId - the transaction id
java.sql.SQLException - if an error occurs
public void rollback(long transactionId)
throws java.sql.SQLException
transactionId - the transaction id
java.sql.SQLException - if an error occurs
public void backupBackendWithCheckpoint(java.lang.String backendName,
java.lang.String checkpointName,
java.util.ArrayList tables)
throws VirtualDatabaseException
VirtualDatabaseMBean
backupBackendWithCheckpoint in interface VirtualDatabaseMBeanbackendName - to backupcheckpointName - to associate this backup withtables - to copy or null if copy all
VirtualDatabaseException - if failsVirtualDatabaseMBean.backupBackendWithCheckpoint(String,
String, ArrayList)
public void callBackupManager(boolean backup,
java.lang.String backendName,
java.lang.String checkpoint,
java.util.ArrayList tables,
boolean enableAfter,
BackupListener listener)
throws VirtualDatabaseException
VirtualDatabaseMBean
callBackupManager in interface VirtualDatabaseMBeanbackup - true if this is a backup, false if this is a restore processbackendName - the name of the backendcheckpoint - the name of the checkpoint associated with the processtables - the tables to consider while performing the copyenableAfter - should be enable the backend automatically afterlistener - callback object to notify of the end of the process
VirtualDatabaseException - if failsVirtualDatabaseMBean.callBackupManager(boolean,
String, String, ArrayList, boolean, BackupListener)
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 removeCheckpoint(java.lang.String checkpointName)
throws VirtualDatabaseException
removeCheckpoint in interface VirtualDatabaseMBeancheckpointName - to remove
VirtualDatabaseException - if an error occurs
public void removeBackend(java.lang.String backend)
throws VirtualDatabaseException
VirtualDatabaseMBean
removeBackend in interface VirtualDatabaseMBeanbackend - the name of the backend to remove
VirtualDatabaseException - if the backend does not existVirtualDatabaseMBean.removeBackend(java.lang.String)
public void removeBackend(DatabaseBackend db)
throws VirtualDatabaseException
db - the database backend to remove
VirtualDatabaseException - if an error occurspublic java.util.ArrayList viewCheckpointNames()
VirtualDatabaseMBean
viewCheckpointNames in interface VirtualDatabaseMBeanArrayList of checkpoint names. Can be emptyVirtualDatabaseMBean.viewCheckpointNames()
public void enableBackend(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
enableBackend in interface VirtualDatabaseMBeanbackendName - The database backend logical name to enable
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.enableBackend(String)
public void enableBackendFromCheckpoint(java.lang.String backendName,
java.lang.String checkpointName)
throws VirtualDatabaseException
VirtualDatabaseMBean
enableBackendFromCheckpoint in interface VirtualDatabaseMBeanbackendName - The database backend logical name to enablecheckpointName - the checkpoint name to restart from
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.enableBackendFromCheckpoint(String,
String)
public void enableBackendFromLastCheckpoint(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
enableBackendFromLastCheckpoint in interface VirtualDatabaseMBeanbackendName - the name of the backend to enable
VirtualDatabaseException - if enable failed, or if there is no last
known checkpointVirtualDatabaseMBean.enableBackendFromLastCheckpoint(java.lang.String)
public DatabaseBackend getAndCheckBackend(java.lang.String backendName,
int testEnable)
throws VirtualDatabaseException
backendName - backend to look fortestEnable - NO_CHECK_BACKEND no check is done, if
CHECK_BACKEND_DISABLE check for disable, if CHECK_BACKEND_ENABLE
check for enable, else do not check
VirtualDatabaseException - if an error occurs
public void disableBackend(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
disableBackend in interface VirtualDatabaseMBeanbackendName - The database backend logical name to enable
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.disableBackend(String)
public void disableAllBackend()
throws VirtualDatabaseException
disableAllBackend in interface VirtualDatabaseMBeanVirtualDatabaseException - if an error occurs
public void enableAllBackend()
throws VirtualDatabaseException
enableAllBackend in interface VirtualDatabaseMBeanVirtualDatabaseException - if fails
public void enableAllBackend(java.lang.String checkpoint)
throws VirtualDatabaseException
enableAllBackend in interface VirtualDatabaseMBeancheckpoint - checkpoint for recovery log
VirtualDatabaseException - if fails
public void enableAllBackendsFromRecovery(java.lang.String checkpoint)
throws VirtualDatabaseException
VirtualDatabaseMBean
enableAllBackendsFromRecovery in interface VirtualDatabaseMBeancheckpoint - the checkpoint for the recovery log
VirtualDatabaseException - if failsVirtualDatabaseMBean.enableAllBackendsFromRecovery(java.lang.String)
public void disableBackendForCheckpoint(java.lang.String backendName,
java.lang.String checkpointName)
throws VirtualDatabaseException
VirtualDatabaseMBean
disableBackendForCheckpoint in interface VirtualDatabaseMBeanbackendName - The database backend logical name to disablecheckpointName - the checkpoint name to store
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.disableBackendForCheckpoint(String,
String)
public final void acquireReadLockBackendLists()
throws java.lang.InterruptedException
ArrayList.
java.lang.InterruptedException - if an error occurspublic final void releaseReadLockBackendLists()
ArrayList.
public AuthenticationManager getAuthenticationManager()
AuthenticationManager instancepublic void setAuthenticationManager(AuthenticationManager authenticationManager)
authenticationManager - the AuthenticationManager to
setpublic java.util.ArrayList getBackends()
ArrayList of DatabaseBackend Objects
public java.util.ArrayList getAllBackendNames()
throws VirtualDatabaseException
VirtualDatabaseExceptionVirtualDatabaseMBean.viewAllBackendNames()public java.lang.String getDatabaseName()
getVirtualDatabaseName().
getVirtualDatabaseName()public java.lang.String getDatabaseProductName()
DatabaseMetaData.getDatabaseProductName()public int getSQLShortFormLength()
AbstractRequest.getSQLShortForm(int)public VirtualDatabaseMetaData getMetaData()
DatabaseMetaData
public DatabaseSchema getDatabaseSchemaFromActiveBackendsAndRefreshDatabaseProductNames()
throws java.sql.SQLException
java.sql.SQLException - if an error occurs
public void setDatabaseSchema(DatabaseSchema schema,
boolean isStatic)
schema - the new database shemaisStatic - true if the schema should be staticpublic RequestManager getRequestManager()
RequestManager instancepublic void setRequestManager(RequestManager requestManager)
requestManager - the new request manager.public java.lang.String getVirtualDatabaseName()
public SQLMonitoring getSQLMonitor()
SQLMonitoring instance or null if no monitor is
definedpublic void setSQLMonitor(SQLMonitoring sqlMonitor)
sqlMonitor - the new SQL monitor
public void setMonitoringToActive(boolean active)
throws VirtualDatabaseException
VirtualDatabaseMBean
setMonitoringToActive in interface VirtualDatabaseMBeanactive - should set the monitor to on or off
VirtualDatabaseException - if there is no monitor.VirtualDatabaseMBean.setMonitoringToActive(boolean)
public void cleanMonitoringData()
throws VirtualDatabaseException
VirtualDatabaseMBean
cleanMonitoringData in interface VirtualDatabaseMBeanVirtualDatabaseException - if there is no monitor.VirtualDatabaseMBean.cleanMonitoringData()public boolean equals(java.lang.Object other)
other - the object to compare with
true if the two virtual databases are equalspublic java.lang.String getXml()
VirtualDatabase object in xml format
getXml in interface XmlComponentprotected java.lang.String getDistributionXml()
public java.lang.String getBackendInformation(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
getBackendInformation in interface VirtualDatabaseMBeanbackendName - the backend logical name
VirtualDatabaseException - if an error occursVirtualDatabaseMBean.getBackendInformation(String)public java.lang.String getName()
getName in interface VirtualDatabaseMBeanpublic int getCurrentNbOfThreads()
VirtualDatabaseMBean
getCurrentNbOfThreads in interface VirtualDatabaseMBeanVirtualDatabaseMBean.getCurrentNbOfThreads()public void addCurrentNbOfThread()
public void removeCurrentNbOfThread()
public int getMinNbOfThreads()
public boolean isPoolConnectionThreads()
public void setMinNbOfThreads(int minNbOfThreads)
minNbOfThreads - The minNbOfThreads to setpublic void setPoolConnectionThreads(boolean poolConnectionThreads)
poolConnectionThreads - The poolConnectionThreads to setpublic long getMaxThreadIdleTime()
public void setMaxThreadIdleTime(long maxThreadIdleTime)
maxThreadIdleTime - The maxThreadIdleTime to setpublic int getMaxNbOfConnections()
public int getMaxNbOfThreads()
public java.util.ArrayList getPendingConnections()
public void setMaxNbOfConnections(int maxNbOfConnections)
maxNbOfConnections - The maxNbOfConnections to setpublic void setMaxNbOfThreads(int maxNbOfThreads)
maxNbOfThreads - The maxNbOfThreads to setpublic java.util.ArrayList getActiveThreads()
public java.lang.String[] viewBackendInformation(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
viewBackendInformation in interface VirtualDatabaseMBeanbackendName - the name of the backend
String[]
VirtualDatabaseException - if an error occursVirtualDatabaseMBean.viewBackendInformation(java.lang.String)public void addIdleThread()
public void removeIdleThread()
public int getIdleThreads()
public java.util.ArrayList viewAllBackendNames()
throws VirtualDatabaseException
VirtualDatabaseMBean
viewAllBackendNames in interface VirtualDatabaseMBeanArrayList of String
representing database backend names
VirtualDatabaseException - if an error occursVirtualDatabaseMBean.viewAllBackendNames()public java.util.ArrayList viewAllClientNames()
ArrayList of strings containing the clients
username
public void disableAllBackendForCheckpoint(java.lang.String checkpoint)
throws VirtualDatabaseException
VirtualDatabaseMBean
disableAllBackendForCheckpoint in interface VirtualDatabaseMBeancheckpoint - the name of the checkpoitn
VirtualDatabaseException - if failsVirtualDatabaseMBean.disableAllBackendForCheckpoint(java.lang.String)public void shutdown(int level)
level - Smart or Fast
public void shutdown()
throws VirtualDatabaseException
shutdown in interface VirtualDatabaseMBeanVirtualDatabaseException - if failspublic void setBlobFilter(AbstractBlobFilter filter)
VirtualDatabaseMBean
setBlobFilter in interface VirtualDatabaseMBeanfilter - blob encodeVirtualDatabaseMBean.setBlobFilter(org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter)public AbstractBlobFilter getBlobFilter()
VirtualDatabaseMBean
getBlobFilter in interface VirtualDatabaseMBeanVirtualDatabaseMBean.getBlobFilter()
public void setBackendLastKnownCheckpoint(java.lang.String backendName,
java.lang.String checkpoint)
throws VirtualDatabaseException
VirtualDatabaseMBean
setBackendLastKnownCheckpoint in interface VirtualDatabaseMBeanbackendName - backendcheckpoint - checkpoint
VirtualDatabaseException - if failsVirtualDatabaseMBean.setBackendLastKnownCheckpoint(java.lang.String, java.lang.String)
public java.lang.String getBackendState(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
getBackendState in interface VirtualDatabaseMBeanbackendName - the name of the backend
String description of the database backend
VirtualDatabaseException - if failsVirtualDatabaseMBean.getBackendState(java.lang.String)public java.lang.String viewOwningController()
VirtualDatabaseMBean
viewOwningController in interface VirtualDatabaseMBeanVirtualDatabaseMBean.viewOwningController()
public void restoreBackendFromBackupCheckpoint(java.lang.String databaseBackendName,
java.lang.String checkpointName)
throws VirtualDatabaseException,
BackupException,
OctopusException
VirtualDatabaseMBeanenableBackendFromCheckpoint
after this.
restoreBackendFromBackupCheckpoint in interface VirtualDatabaseMBeandatabaseBackendName - the name of the backend to restorecheckpointName - the name of the checkpoint that has a dump
OctopusException - if backup failed while in octopus mode
VirtualDatabaseException - if cannot access the backend from its name
BackupException - if backup failed for other reasonsVirtualDatabaseMBean.restoreBackendFromBackupCheckpoint(java.lang.String,
java.lang.String)public void storeBackendsInfo()
public boolean hasRecoveryLog()
VirtualDatabaseMBean
hasRecoveryLog in interface VirtualDatabaseMBeantrue if the recovery log is defined and can be
accessed, false otherwiseVirtualDatabaseMBean.hasRecoveryLog()
public void replicateBackend(java.lang.String backendName,
java.lang.String newBackendName,
java.util.Map parameters)
throws VirtualDatabaseException
VirtualDatabaseMBean
replicateBackend in interface VirtualDatabaseMBeanbackendName - the backend to replicate and to use parameters from.newBackendName - the new backend name.parameters - parameters to override or modify when replicating to the
new backend
VirtualDatabaseException - if cannot replicate backendVirtualDatabaseMBean.replicateBackend(java.lang.String,
java.lang.String, java.util.Map)
public java.lang.String[][] retrieveBackendsData()
throws VirtualDatabaseException
VirtualDatabaseMBean
retrieveBackendsData in interface VirtualDatabaseMBeanString[][] of formatted data for all backends
VirtualDatabaseExceptionVirtualDatabaseMBean.retrieveBackendsData()public java.lang.String[] viewControllerList()
VirtualDatabaseMBeanviewOwningController otherwise returns an array of
controller configuring this DistributedVirtualDatabase
viewControllerList in interface VirtualDatabaseMBeanString[] of controller names.VirtualDatabaseMBean.viewControllerList()
public java.util.Hashtable viewGroupBackends()
throws VirtualDatabaseException
VirtualDatabaseMBean
viewGroupBackends in interface VirtualDatabaseMBeanHashtable of controllerName --> ArrayList of backend
names
VirtualDatabaseException - if cannot return the resultVirtualDatabaseMBean.viewGroupBackends()
public void transferBackend(java.lang.String backend,
java.lang.String controllerDestination)
throws VirtualDatabaseException
VirtualDatabaseMBean
transferBackend in interface VirtualDatabaseMBeanbackend - the backend to transfercontrollerDestination - the controller to copy the backend to
VirtualDatabaseException - if transfer failedVirtualDatabaseMBean.transferBackend(java.lang.String,
java.lang.String)
public java.lang.String getBackendSchema(java.lang.String backendName)
throws VirtualDatabaseException
VirtualDatabaseMBean
getBackendSchema in interface VirtualDatabaseMBeanbackendName - the name of the backend to get the schema from
VirtualDatabaseException - if an error occurs while accessing the
backend, or if the backend does not exist.VirtualDatabaseMBean.getBackendSchema(java.lang.String)
public void enableBackendFromCheckpoint(java.lang.String backendName,
java.lang.String checkpointName,
boolean threaded)
throws VirtualDatabaseException
VirtualDatabaseMBean
enableBackendFromCheckpoint in interface VirtualDatabaseMBeanbackendName - The database backend logical name to enablecheckpointName - the checkpoint name to restart fromthreaded - if true do not wait for the end of the execution
before returning, and do not throw any Exception.
Any message or error will be reported through jmx notification. if
false, the method is blocked until the recovery is
finished.
VirtualDatabaseException - in case of communication-related errorVirtualDatabaseMBean.enableBackendFromCheckpoint(java.lang.String,
java.lang.String, boolean)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||