|
Ontimize 5.2072EN | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.ontimize.db.DatabaseConnectionManager
Allows to create and manage a database connection pool. Parameters of 'database.properties' are parsed here.
DatabaseConnectionManager(boolean, boolean, URL, URL, boolean)| Nested Class Summary | |
protected class |
DatabaseConnectionManager.CheckConnectionThread
|
protected class |
DatabaseConnectionManager.ReleaseThread
|
protected class |
DatabaseConnectionManager.ReserveCancellationThread
|
| Field Summary | |
static boolean |
AUTOCOMMIT_ON_UNLOCK
|
static java.lang.String |
AUTONUMERICAL_PROPERTIES
|
static java.lang.String |
CHECK_CYCLE
|
protected DatabaseConnectionManager.CheckConnectionThread |
checkConnectionThread
|
protected int |
checkupCicle
|
static java.lang.String |
CONNECTION_INFO
|
protected java.util.Vector |
connections
|
static java.lang.String |
CREATE_INITIAL_CONNECTIONS
|
static java.lang.String |
DATABASE
|
protected java.lang.String |
databaseId
|
protected java.lang.Object |
dataSource
|
protected java.lang.String |
dataSourceName
|
static java.lang.String |
DATASOURCENAME
|
static boolean |
DEBUG
|
static java.lang.String |
defaultPasswordValue
|
static java.lang.String |
defaultUserValue
|
protected java.lang.String |
driver
|
static java.lang.String |
DRIVER
|
static java.lang.String |
E64PASSWORD
|
static java.lang.String |
EPASSWORD
|
protected boolean |
forceDisconnection
|
static java.lang.String |
INCREASE_CONNECTIONS
|
protected int |
increment
|
static java.lang.String |
LOCKED_TIMEOUT
|
protected java.util.Vector |
lockTime
|
protected long |
lockTimeout
|
protected int |
maximum
|
static java.lang.String |
MAXIMUM_CONNECTIONS
|
protected double |
maxlocktime
|
protected int |
maxReserveTime
|
protected int |
minimum
|
static java.lang.String |
MINIMUM_CONNECTIONS
|
static int |
offset
|
static java.lang.String |
offsetString
|
protected java.lang.String |
password
|
static java.lang.String |
PASSWORD
|
static java.lang.String |
RELEASE_CYCLE
|
protected long |
releaseCicleThread
|
protected DatabaseConnectionManager.ReleaseThread |
releaseThread
|
protected DatabaseConnectionManager.ReserveCancellationThread |
reserveCancellationThread
|
protected int |
reserveCicle
|
static java.lang.String |
TEST_TABLE
|
protected java.lang.String |
testTable
|
protected long |
timeout
|
static java.lang.String |
TIMEOUT
|
static java.lang.String |
UPDATE_CYCLE
|
protected long |
updateCicleThread
|
static java.lang.String |
URL
|
protected java.lang.String |
urlDB
|
protected boolean |
useJ2EEConnection
|
static java.lang.String |
USEJ2EECONNECTIONS
|
protected java.lang.String |
user
|
static java.lang.String |
USER
|
| Constructor Summary | |
DatabaseConnectionManager(boolean statisticViewer,
boolean connectionsInfoToFile,
java.net.URL urlPropDB,
java.net.URL urlAutonumerical)
Class constructor. |
|
DatabaseConnectionManager(boolean statisticViewer,
boolean connectionsInfoToFile,
java.net.URL urlPropDB,
java.net.URL urlAutonumerical,
boolean createInitialConnections)
Constructor that gets parameters related to database. |
|
DatabaseConnectionManager(java.util.Hashtable parameters)
|
|
DatabaseConnectionManager(java.net.URL urlDBProp,
java.net.URL urlAutonumerical,
int minConnections,
int maxConnections,
int connectionIncrement,
long timeoutBlockConnection,
long timeoutConnection,
boolean statisticViewer)
|
|
| Method Summary | |
void |
activeForceDisconnection()
Close all the connections. |
void |
closeConnections()
|
void |
closeLockedConnections()
|
java.sql.Connection |
createConnection()
|
protected OntimizeConnection |
createConnection(java.lang.String driver,
java.lang.String uRLBD,
java.lang.String user,
java.lang.String password)
|
protected java.lang.Object |
createDataSource(java.lang.String dataSourceName,
java.util.Properties prop)
|
void |
deactivateForceDisconnection()
|
protected void |
finalize()
|
Autonumerical |
getAutonumerialReference()
|
Autonumerical |
getAutonumerical()
|
int |
getAutonumericalValue()
|
int |
getAutonumericalValue(java.lang.String table)
|
double |
getAverageLockTime()
|
java.lang.String |
getDatabase()
|
int |
getLockedOntimizeConnectionNumber()
|
double |
getMaximumLockTime()
|
OntimizeConnection |
getOntimizeConnection()
Returns an available connection and locks it. |
OntimizeConnection |
getOntimizeConnection(int id)
Search an unlocked connection reserved with the specified id. |
int |
getOntimizeConnectionNumber()
|
long |
getUpdateCicleTime()
|
boolean |
isForceDisconnectionEnabled()
|
void |
setAutonumerical(Autonumerical auto)
|
void |
setAutonumerical(java.lang.String oPropAutonumerical)
|
void |
setAutonumerical(java.net.URL oURLAutonumerical)
|
void |
setCheckupCicle(int checkupCicle)
|
void |
setDatabaseId(java.lang.String databaseId)
|
void |
setDriver(java.lang.String driver)
|
void |
setIncrementConnections(int increment)
|
void |
setLockTimeout(long lockTimeout)
|
void |
setMaximumConnections(int maximum)
|
void |
setMinimumConnections(int minimum)
|
void |
setPassword(java.lang.String password)
|
void |
setReleaseCicle(long releaseCicle)
|
void |
setSaveConnectionsInfo(boolean connectionInfo)
|
void |
setTestTable(java.lang.String testTable)
|
void |
setTimeout(long timeout)
|
void |
setUpdateCicle(long updateCicle)
|
void |
setUrlDB(java.lang.String urlDB)
|
void |
setUser(java.lang.String user)
|
java.lang.String |
toString()
|
void |
unLock(OntimizeConnection ontimizeConnection)
Unlock the connection |
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static java.lang.String defaultUserValue
public static java.lang.String defaultPasswordValue
public static final java.lang.String TIMEOUT
public static final java.lang.String LOCKED_TIMEOUT
public static final java.lang.String INCREASE_CONNECTIONS
public static final java.lang.String MAXIMUM_CONNECTIONS
public static final java.lang.String MINIMUM_CONNECTIONS
public static final java.lang.String EPASSWORD
public static final java.lang.String E64PASSWORD
public static final java.lang.String PASSWORD
public static final java.lang.String USER
public static final java.lang.String TEST_TABLE
public static final java.lang.String CHECK_CYCLE
public static final java.lang.String RELEASE_CYCLE
public static final java.lang.String UPDATE_CYCLE
public static final java.lang.String URL
public static final java.lang.String DRIVER
public static final java.lang.String DATABASE
public static final java.lang.String USEJ2EECONNECTIONS
public static final java.lang.String DATASOURCENAME
public static final java.lang.String CONNECTION_INFO
public static final java.lang.String CREATE_INITIAL_CONNECTIONS
public static final java.lang.String AUTONUMERICAL_PROPERTIES
public static boolean DEBUG
public static final boolean AUTOCOMMIT_ON_UNLOCK
protected int minimum
protected int maximum
protected int increment
protected long lockTimeout
protected long timeout
public static int offset
public static java.lang.String offsetString
protected DatabaseConnectionManager.ReserveCancellationThread reserveCancellationThread
protected DatabaseConnectionManager.CheckConnectionThread checkConnectionThread
protected int maxReserveTime
protected int reserveCicle
protected int checkupCicle
protected java.lang.String testTable
protected boolean useJ2EEConnection
protected java.lang.String dataSourceName
protected java.lang.Object dataSource
protected java.util.Vector connections
protected java.lang.String driver
protected java.lang.String urlDB
protected java.lang.String databaseId
protected java.lang.String user
protected java.lang.String password
protected DatabaseConnectionManager.ReleaseThread releaseThread
protected long releaseCicleThread
protected long updateCicleThread
protected java.util.Vector lockTime
protected double maxlocktime
protected boolean forceDisconnection
| Constructor Detail |
public DatabaseConnectionManager(java.net.URL urlDBProp,
java.net.URL urlAutonumerical,
int minConnections,
int maxConnections,
int connectionIncrement,
long timeoutBlockConnection,
long timeoutConnection,
boolean statisticViewer)
throws java.lang.Exception
urlDBProp - URI of the database properties file pathurlAutonumerical - minConnections - maxConnections - connectionIncrement - timeoutBlockConnection - timeoutConnection - statisticViewer -
java.lang.Exception
public DatabaseConnectionManager(boolean statisticViewer,
boolean connectionsInfoToFile,
java.net.URL urlPropDB,
java.net.URL urlAutonumerical)
statisticViewer - condition to show the statisticViewerconnectionsInfoToFile - conditions to write connections info to fileurlPropDB - URL to database properties (Relative to classpath):
urlAutonumerical - URL to autonumerical properties
public DatabaseConnectionManager(boolean statisticViewer,
boolean connectionsInfoToFile,
java.net.URL urlPropDB,
java.net.URL urlAutonumerical,
boolean createInitialConnections)
statisticViewer - Not usedconnectionsInfoToFile - Indicates whether information of connections is written to a fileurlPropDB - complete path to database.properties fileurlAutonumerical - complete path to autonumerical.properties filecreateInitialConnections - Indicates whether connections are created on startup
database.properties
| attribute | values | default | required | meaning |
| URL | yes | The URL where database is stored. For example, with HSQLD engine: jdbc:hsqldb:db/myDatabase | ||
| Driver | yes | Driver for database. For example, with jdbc connection in HSQLD engine: org.hsqldb.jdbcDriver | ||
| Database | default/Postgres/SQLServer/Oracle/HSQLDB/Access | default | no | Indicates the handler used to manage operations with database. There are many available handlers. |
| User | yes | User to connect with database | ||
| Password | yes | Password to connect with database. When password in database.properties is stored encrypted, parameter Password must be replaced by this one. |
||
| E64Password | no | This parameter is used instead of Password when user wants to store database password encrypted in database.properties. |
||
| TestTable | no (but strongly recommended) | This parameter checks automatically that connection with database is OK and try to reconnect (transparently for user) when an communication error is produced among server and database. | ||
| CheckCycle | 20000 ms | no | Timer for thread where Ontimize connection pool checks database connections | |
| ReleaseCycle | 5000 ms | no | Timer for thread where Ontimize connection pool checks to release blocked connections. | |
| UpdateCycle | 500 ms | no | Time between captures of the Server Monitor where info of conections is showed | |
| MinimumConnections | 0 | yes | Minimum connection number that the connection pool will open in the start up | |
| MaximumConnections | 10 | no | Maximum connection number the the connection pool will handle | |
| IncreaseConnections | 5 | no | Connection number to be open when all the connections are being used. | |
| LockedTimeout | Long.MAX_VALUE | no | Max time the connection can be blocked. | |
| Timeout | Long.MAX_VALUE | no | Max time of inactivity to close a connection. | |
| usej2eeconnections | yes/no | no | no | Indicates when application is using J2EE DataSource for connections |
| datasourcename | no (required when usej2eeconnections is set to 'yes' |
The name of datasource. It is the name used to do 'lookup' operation from context. |
public DatabaseConnectionManager(java.util.Hashtable parameters)
throws java.lang.Exception
| Method Detail |
public OntimizeConnection getOntimizeConnection()
throws java.lang.Exception
java.lang.Exception - when Exception occurs
public OntimizeConnection getOntimizeConnection(int id)
throws java.lang.Exception
id - Reservation identifier
java.lang.Exception
protected OntimizeConnection createConnection(java.lang.String driver,
java.lang.String uRLBD,
java.lang.String user,
java.lang.String password)
throws java.lang.Exception
java.lang.Exception
public java.sql.Connection createConnection()
throws java.sql.SQLException
java.sql.SQLExceptionpublic void unLock(OntimizeConnection ontimizeConnection)
ontimizeConnection - Connection to unlockpublic void setAutonumerical(java.net.URL oURLAutonumerical)
public void setAutonumerical(java.lang.String oPropAutonumerical)
public void setAutonumerical(Autonumerical auto)
public int getAutonumericalValue()
public Autonumerical getAutonumerical()
public int getAutonumericalValue(java.lang.String table)
public void closeConnections()
protected void finalize()
throws java.lang.Throwable
java.lang.Throwablepublic int getOntimizeConnectionNumber()
public int getLockedOntimizeConnectionNumber()
public void closeLockedConnections()
public double getAverageLockTime()
public double getMaximumLockTime()
public long getUpdateCicleTime()
public void activeForceDisconnection()
throws java.lang.Exception
java.lang.Exception
public void deactivateForceDisconnection()
throws java.lang.Exception
java.lang.Exceptionpublic boolean isForceDisconnectionEnabled()
public Autonumerical getAutonumerialReference()
protected java.lang.Object createDataSource(java.lang.String dataSourceName,
java.util.Properties prop)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String getDatabase()
public java.lang.String toString()
public void setDriver(java.lang.String driver)
public void setUrlDB(java.lang.String urlDB)
public void setUser(java.lang.String user)
public void setPassword(java.lang.String password)
public void setMinimumConnections(int minimum)
public void setMaximumConnections(int maximum)
public void setIncrementConnections(int increment)
public void setDatabaseId(java.lang.String databaseId)
public void setLockTimeout(long lockTimeout)
public void setTimeout(long timeout)
public void setCheckupCicle(int checkupCicle)
public void setReleaseCicle(long releaseCicle)
public void setUpdateCicle(long updateCicle)
public void setTestTable(java.lang.String testTable)
public void setSaveConnectionsInfo(boolean connectionInfo)
|
Ontimize | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||