amber.server.manager.database
Class DatabaseManager

java.lang.Object
  |
  +--amber.server.manager.database.DatabaseManager

public class DatabaseManager
extends java.lang.Object

This class controls database connections. It is instantiated by the Server and coordinates connections to databases and the interaction to the database systems.

See Also:
ConnectionPool, DatabaseConnection

Field Summary
static java.lang.String ConnectionPoolBaseTag
           
protected  java.util.Vector connectionPools
          The connection pool
protected  java.lang.String databaseDriver
          The name of the database driver.
static java.lang.String DatabaseDriverTag
           
static java.lang.String DatabaseDriverTagDefault
           
protected  java.lang.String databaseName
          The name of the database URL.
static java.lang.String DatabaseNameTag
           
static java.lang.String DatabaseNameTagDefault
           
static java.lang.String DatabasePasswordTag
           
static java.lang.String DatabasePasswordTagDefault
           
static java.lang.String DatabaseUsernameTag
           
static java.lang.String DatabaseUsernameTagDefault
           
static long DefaultInactivityDuration
          The default thread inactivity sleep duration in ms.
static java.lang.String DefaultLoggingFilename
          The default logging file name
static int DefaultMaxConnectionNumber
          The default maximum number of database connections to open.
static int DefaultMinConnectionNumber
          The default minimum number of database connections to open.
static java.lang.String header
           
protected  java.lang.String logDirectory
          String base directory name for log files.
static java.lang.String LoggingDirectoryTag
           
static java.lang.String LoggingDirectoryTagDefault
           
protected  Log loggingFile
          Logging file.
static java.lang.String LoggingFilenameTag
           
static java.lang.String LoggingFilenameTagDefault
           
static java.lang.String LoggingLevelTag
           
static int LoggingLevelTagDefault
           
static java.lang.String MaxNumberOfConnectionsTag
           
static int MaxNumberOfConnectionsTagDefault
           
static java.lang.String MinNumberOfConnectionsTag
           
static int MinNumberOfConnectionsTagDefault
           
protected  java.lang.String password
          The password to use when connecting to the database.
static java.lang.String PoolNameTag
           
static java.lang.String PoolNameTagDefault
           
protected  PropertiesHandler properties
          Properties for configuring the Database Manager.
static java.lang.String propertyFilename
           
static java.lang.String ThreadInactivityTag
           
static long ThreadInactivityTagDefault
           
protected  java.lang.String userName
          The user name to use when connecting to the database.
static java.lang.String version
           
 
Constructor Summary
DatabaseManager()
          The default constructor.
 
Method Summary
 ConnectionPool createNewConnectionPool(java.lang.String name, java.lang.String databaseDriver, java.lang.String databaseName, java.lang.String userName, java.lang.String password, int minConnections, int maxConnections, int logLevel, long inactivityDuration)
          This function creates a new connection pool and adds it to the collection of available database pools.
protected  void createPools()
          This function creates all the connection pools specified in the properties file.
 java.util.Vector getAllConnectionPools()
          Gets all available connection pools.
 ConnectionPool getConnectionPool(java.lang.String name)
          Gets a connection pool from the available connection pools.
 int getTotalPools()
          Return the absolute number of connections.
 void init()
          Main initialisation function for this database system.
 void shutDown()
          Termination function.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

version

public static final java.lang.String version

header

public static final java.lang.String header

propertyFilename

public static java.lang.String propertyFilename

DefaultMinConnectionNumber

public static final int DefaultMinConnectionNumber
The default minimum number of database connections to open.

DefaultMaxConnectionNumber

public static final int DefaultMaxConnectionNumber
The default maximum number of database connections to open.

DefaultInactivityDuration

public static final long DefaultInactivityDuration
The default thread inactivity sleep duration in ms.

DefaultLoggingFilename

public static final java.lang.String DefaultLoggingFilename
The default logging file name

ConnectionPoolBaseTag

public static final java.lang.String ConnectionPoolBaseTag

PoolNameTag

public static final java.lang.String PoolNameTag

PoolNameTagDefault

public static final java.lang.String PoolNameTagDefault

DatabaseNameTag

public static final java.lang.String DatabaseNameTag

DatabaseNameTagDefault

public static final java.lang.String DatabaseNameTagDefault

DatabaseDriverTag

public static final java.lang.String DatabaseDriverTag

DatabaseDriverTagDefault

public static final java.lang.String DatabaseDriverTagDefault

DatabaseUsernameTag

public static final java.lang.String DatabaseUsernameTag

DatabaseUsernameTagDefault

public static final java.lang.String DatabaseUsernameTagDefault

DatabasePasswordTag

public static final java.lang.String DatabasePasswordTag

DatabasePasswordTagDefault

public static final java.lang.String DatabasePasswordTagDefault

MinNumberOfConnectionsTag

public static final java.lang.String MinNumberOfConnectionsTag

MinNumberOfConnectionsTagDefault

public static final int MinNumberOfConnectionsTagDefault

MaxNumberOfConnectionsTag

public static final java.lang.String MaxNumberOfConnectionsTag

MaxNumberOfConnectionsTagDefault

public static final int MaxNumberOfConnectionsTagDefault

ThreadInactivityTag

public static final java.lang.String ThreadInactivityTag

ThreadInactivityTagDefault

public static final long ThreadInactivityTagDefault

LoggingDirectoryTag

public static final java.lang.String LoggingDirectoryTag

LoggingDirectoryTagDefault

public static final java.lang.String LoggingDirectoryTagDefault

LoggingFilenameTag

public static final java.lang.String LoggingFilenameTag

LoggingFilenameTagDefault

public static final java.lang.String LoggingFilenameTagDefault

LoggingLevelTag

public static final java.lang.String LoggingLevelTag

LoggingLevelTagDefault

public static final int LoggingLevelTagDefault

properties

protected PropertiesHandler properties
Properties for configuring the Database Manager.

logDirectory

protected java.lang.String logDirectory
String base directory name for log files.

loggingFile

protected Log loggingFile
Logging file.

connectionPools

protected java.util.Vector connectionPools
The connection pool

databaseName

protected java.lang.String databaseName
The name of the database URL.

databaseDriver

protected java.lang.String databaseDriver
The name of the database driver.

userName

protected java.lang.String userName
The user name to use when connecting to the database.

password

protected java.lang.String password
The password to use when connecting to the database.
Constructor Detail

DatabaseManager

public DatabaseManager()
The default constructor.
Method Detail

init

public void init()
Main initialisation function for this database system.

createPools

protected void createPools()
This function creates all the connection pools specified in the properties file.

createNewConnectionPool

public ConnectionPool createNewConnectionPool(java.lang.String name,
                                              java.lang.String databaseDriver,
                                              java.lang.String databaseName,
                                              java.lang.String userName,
                                              java.lang.String password,
                                              int minConnections,
                                              int maxConnections,
                                              int logLevel,
                                              long inactivityDuration)
This function creates a new connection pool and adds it to the collection of available database pools.
Parameters:
name - String containing the name of the connection pool object.
databaseDriver - String name of the JDBC driver.
databaseName - String JDBC URL of the database.
userName - String name to use when authenticating this server.
password - String password to use when authenticating this server.
minConnections - int number of connections to start pool with.
maxConnections - int number of upper limit of connections to create.
logLevel - int containing the log level to log.
inactivityDuration - long time that the thread should sleep between refreshes.
Returns:
ConnectionPool which was created.

getConnectionPool

public ConnectionPool getConnectionPool(java.lang.String name)
Gets a connection pool from the available connection pools.
Parameters:
name - String name of the connection pool to return.
Returns:
Connection to the database.

getAllConnectionPools

public java.util.Vector getAllConnectionPools()
Gets all available connection pools.
Returns:
Vector of ConnectionPools to the database.

getTotalPools

public int getTotalPools()
Return the absolute number of connections.
Returns:
int number of total connections.

shutDown

public void shutDown()
Termination function. When called it terminates the Database manager cleanly.


Copyright © 2002 Clearfield Research Ltd. All Rights Reserved.