|
|||||||||||
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 mbeanMethod Detail |
public java.lang.String getAssociatedString()
AbstractStandardMBean
getAssociatedString
in class AbstractStandardMBean
AbstractStandardMBean.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 VirtualDatabaseMBean
adminLogin
- 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 failspublic int execWriteRequest(AbstractWriteRequest request) throws java.sql.SQLException
request
- the request to execute
java.sql.SQLException
- if the request failspublic ControllerResultSet execWriteRequestWithKeys(AbstractWriteRequest request) throws java.sql.SQLException
request
- the request to execute
java.sql.SQLException
- if the request failspublic ControllerResultSet execReadStoredProcedure(StoredProcedure proc) throws java.sql.SQLException
proc
- the stored procedure call
java.sql.ResultSet
value
java.sql.SQLException
- if an error occursprotected int execWriteStoredProcedure(StoredProcedure proc) throws java.sql.SQLException
proc
- the stored procedure call
java.sql.SQLException
- if an error occurspublic 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 occurspublic void abort(long transactionId) throws java.sql.SQLException
transactionId
- id of the transaction to abort
java.sql.SQLException
- if an error occurspublic void commit(long transactionId) throws java.sql.SQLException
transactionId
- the transaction id
java.sql.SQLException
- if an error occurspublic void rollback(long transactionId) throws java.sql.SQLException
transactionId
- the transaction id
java.sql.SQLException
- if an error occurspublic void backupBackendWithCheckpoint(java.lang.String backendName, java.lang.String checkpointName, java.util.ArrayList tables) throws VirtualDatabaseException
VirtualDatabaseMBean
backupBackendWithCheckpoint
in interface VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
backup
- 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 occurspublic void addBackend(DatabaseBackend db, boolean checkForCompliance) throws VirtualDatabaseException
db
- the database backend to addcheckForCompliance
- should load the driver ?
VirtualDatabaseException
- if an error occurspublic void removeCheckpoint(java.lang.String checkpointName) throws VirtualDatabaseException
removeCheckpoint
in interface VirtualDatabaseMBean
checkpointName
- to remove
VirtualDatabaseException
- if an error occurspublic void removeBackend(java.lang.String backend) throws VirtualDatabaseException
VirtualDatabaseMBean
removeBackend
in interface VirtualDatabaseMBean
backend
- 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 VirtualDatabaseMBean
ArrayList
of checkpoint names. Can be emptyVirtualDatabaseMBean.viewCheckpointNames()
public void enableBackend(java.lang.String backendName) throws VirtualDatabaseException
VirtualDatabaseMBean
enableBackend
in interface VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
backendName
- 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 occurspublic void disableBackend(java.lang.String backendName) throws VirtualDatabaseException
VirtualDatabaseMBean
disableBackend
in interface VirtualDatabaseMBean
backendName
- The database backend logical name to enable
VirtualDatabaseException
- in case of communication-related errorVirtualDatabaseMBean.disableBackend(String)
public void disableAllBackend() throws VirtualDatabaseException
disableAllBackend
in interface VirtualDatabaseMBean
VirtualDatabaseException
- if an error occurspublic void enableAllBackend() throws VirtualDatabaseException
enableAllBackend
in interface VirtualDatabaseMBean
VirtualDatabaseException
- if failspublic void enableAllBackend(java.lang.String checkpoint) throws VirtualDatabaseException
enableAllBackend
in interface VirtualDatabaseMBean
checkpoint
- checkpoint for recovery log
VirtualDatabaseException
- if failspublic void enableAllBackendsFromRecovery(java.lang.String checkpoint) throws VirtualDatabaseException
VirtualDatabaseMBean
enableAllBackendsFromRecovery
in interface VirtualDatabaseMBean
checkpoint
- 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 VirtualDatabaseMBean
backendName
- 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
Objectspublic java.util.ArrayList getAllBackendNames() throws VirtualDatabaseException
VirtualDatabaseException
VirtualDatabaseMBean.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 occurspublic 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 monitorpublic void setMonitoringToActive(boolean active) throws VirtualDatabaseException
VirtualDatabaseMBean
setMonitoringToActive
in interface VirtualDatabaseMBean
active
- 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 VirtualDatabaseMBean
VirtualDatabaseException
- 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 XmlComponent
protected java.lang.String getDistributionXml()
public java.lang.String getBackendInformation(java.lang.String backendName) throws VirtualDatabaseException
VirtualDatabaseMBean
getBackendInformation
in interface VirtualDatabaseMBean
backendName
- the backend logical name
VirtualDatabaseException
- if an error occursVirtualDatabaseMBean.getBackendInformation(String)
public java.lang.String getName()
getName
in interface VirtualDatabaseMBean
public int getCurrentNbOfThreads()
VirtualDatabaseMBean
getCurrentNbOfThreads
in interface VirtualDatabaseMBean
VirtualDatabaseMBean.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 VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
ArrayList
of String
representing database backend names
VirtualDatabaseException
- if an error occursVirtualDatabaseMBean.viewAllBackendNames()
public java.util.ArrayList viewAllClientNames()
ArrayList
of strings containing the clients
usernamepublic void disableAllBackendForCheckpoint(java.lang.String checkpoint) throws VirtualDatabaseException
VirtualDatabaseMBean
disableAllBackendForCheckpoint
in interface VirtualDatabaseMBean
checkpoint
- the name of the checkpoitn
VirtualDatabaseException
- if failsVirtualDatabaseMBean.disableAllBackendForCheckpoint(java.lang.String)
public void shutdown(int level)
level
- Smart or Fastpublic void shutdown() throws VirtualDatabaseException
shutdown
in interface VirtualDatabaseMBean
VirtualDatabaseException
- if failspublic void setBlobFilter(AbstractBlobFilter filter)
VirtualDatabaseMBean
setBlobFilter
in interface VirtualDatabaseMBean
filter
- blob encodeVirtualDatabaseMBean.setBlobFilter(org.objectweb.cjdbc.common.sql.filters.AbstractBlobFilter)
public AbstractBlobFilter getBlobFilter()
VirtualDatabaseMBean
getBlobFilter
in interface VirtualDatabaseMBean
VirtualDatabaseMBean.getBlobFilter()
public void setBackendLastKnownCheckpoint(java.lang.String backendName, java.lang.String checkpoint) throws VirtualDatabaseException
VirtualDatabaseMBean
setBackendLastKnownCheckpoint
in interface VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
VirtualDatabaseMBean.viewOwningController()
public void restoreBackendFromBackupCheckpoint(java.lang.String databaseBackendName, java.lang.String checkpointName) throws VirtualDatabaseException, BackupException, OctopusException
VirtualDatabaseMBean
enableBackendFromCheckpoint
after this.
restoreBackendFromBackupCheckpoint
in interface VirtualDatabaseMBean
databaseBackendName
- 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 VirtualDatabaseMBean
true
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 VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
String[][]
of formatted data for all backends
VirtualDatabaseException
VirtualDatabaseMBean.retrieveBackendsData()
public java.lang.String[] viewControllerList()
VirtualDatabaseMBean
viewOwningController
otherwise returns an array of
controller configuring this DistributedVirtualDatabase
viewControllerList
in interface VirtualDatabaseMBean
String[]
of controller names.VirtualDatabaseMBean.viewControllerList()
public java.util.Hashtable viewGroupBackends() throws VirtualDatabaseException
VirtualDatabaseMBean
viewGroupBackends
in interface VirtualDatabaseMBean
Hashtable
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 VirtualDatabaseMBean
backend
- 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 VirtualDatabaseMBean
backendName
- 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 VirtualDatabaseMBean
backendName
- 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 |