com.fenalco.utilities.database
Class DataBaseConnection

java.lang.Object
  extended by com.fenalco.utilities.database.DataBaseConnection

public class DataBaseConnection
extends java.lang.Object

Author:
Andrés Romero Rodríguez esta clase es la que se conecta a la base de datos, implementa un pool de conexiones a la base de datos basandose en los parámetros pasados en el archivo database.xml

Field Summary
private  java.util.Vector freeConnectios
          Este es el pool de conexiones, un vector que almacena las conexiones que están disponibles
private  int m_nCheckedOut
          Entero que indica cuantas conexiones se están usando
private  int m_nMaxConnections
          Número máximo de conexiones simultaneas que se tendrán a la base de datos
private  int m_nPort
          Puerto al que nos vamos a conectar para acceder a la base de datos
private  int m_nTimeOut
          El número de segundos para el hilo que va a limpiar las conexiones
private  java.lang.String m_sDataBaseName
          El nombre de la base de datos a la que nos vamos a conectar
private  java.lang.String m_sDB
          Un string que representa el nombre de la base de datos a la cual nos vamos a conectar
private  java.lang.String m_sIP
          IP de la base de datos
private  java.lang.String m_sPassword
          Contraseña para acceder a la base de datos
private  java.lang.String m_sUser
          Usuario de la base de datos
private static DataBaseConnection m_this
          La unica referencia a esta clase que va a existir
private  PoolManager poolManager
          va a administrar el pool para que no crezca tanto
 
Constructor Summary
private DataBaseConnection()
          como esta clase es un singleton, el constructor es privado para que solo exista un objeto que realiza conexiones a la base de datos
 
Method Summary
 void freeConnection(java.sql.Connection conn)
          este método se usa para devolver una conexión al pool cuando se ha terminado de utilizar
 java.sql.Connection getConnection()
          Este método retorna una conexión del pool, si todas las conexiones del pool ya están en uso, espera hasta que haya una disponible
 java.lang.String getDataBase()
           
 java.util.Vector getFreeConnections()
           
static DataBaseConnection getInstance()
          esta función se utiliza para obtener una instancia de esta clase
 int getTimeOut()
          Retorna el timeout para limpiar el pool
static void main(java.lang.String[] args)
           
private  java.sql.Connection newConnection()
          este método se usa para crear una nueva conexión con la base de datos
private  java.sql.Connection newOracleConnection()
           
private  java.sql.Connection newPostgresConnection()
           
 void release()
          Este método se usa para limpiar el pool, es decir, se cierran todas las conexiones y se eliminan del vector
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_sDB

private java.lang.String m_sDB
Un string que representa el nombre de la base de datos a la cual nos vamos a conectar


m_sIP

private java.lang.String m_sIP
IP de la base de datos


m_nPort

private int m_nPort
Puerto al que nos vamos a conectar para acceder a la base de datos


m_sUser

private java.lang.String m_sUser
Usuario de la base de datos


m_sPassword

private java.lang.String m_sPassword
Contraseña para acceder a la base de datos


m_sDataBaseName

private java.lang.String m_sDataBaseName
El nombre de la base de datos a la que nos vamos a conectar


m_nMaxConnections

private int m_nMaxConnections
Número máximo de conexiones simultaneas que se tendrán a la base de datos


m_nTimeOut

private int m_nTimeOut
El número de segundos para el hilo que va a limpiar las conexiones


freeConnectios

private java.util.Vector freeConnectios
Este es el pool de conexiones, un vector que almacena las conexiones que están disponibles


m_nCheckedOut

private int m_nCheckedOut
Entero que indica cuantas conexiones se están usando


m_this

private static DataBaseConnection m_this
La unica referencia a esta clase que va a existir


poolManager

private PoolManager poolManager
va a administrar el pool para que no crezca tanto

Constructor Detail

DataBaseConnection

private DataBaseConnection()
                    throws DataBaseConnectionException
como esta clase es un singleton, el constructor es privado para que solo exista un objeto que realiza conexiones a la base de datos

Throws:
DataBaseConnectionException
Method Detail

getInstance

public static DataBaseConnection getInstance()
                                      throws DataBaseConnectionException
esta función se utiliza para obtener una instancia de esta clase

Throws:
DataBaseConnectionException

freeConnection

public void freeConnection(java.sql.Connection conn)
este método se usa para devolver una conexión al pool cuando se ha terminado de utilizar


getConnection

public java.sql.Connection getConnection()
                                  throws EngineNotSupportedException,
                                         DataBaseConnectionException
Este método retorna una conexión del pool, si todas las conexiones del pool ya están en uso, espera hasta que haya una disponible

Throws:
EngineNotSupportedException
DataBaseConnectionException

release

public void release()
Este método se usa para limpiar el pool, es decir, se cierran todas las conexiones y se eliminan del vector


newConnection

private java.sql.Connection newConnection()
                                   throws EngineNotSupportedException,
                                          DataBaseConnectionException
este método se usa para crear una nueva conexión con la base de datos

Throws:
EngineNotSupportedException
DataBaseConnectionException

newPostgresConnection

private java.sql.Connection newPostgresConnection()
                                           throws DataBaseConnectionException
Throws:
DataBaseConnectionException

newOracleConnection

private java.sql.Connection newOracleConnection()
                                         throws DataBaseConnectionException
Throws:
DataBaseConnectionException

getFreeConnections

public java.util.Vector getFreeConnections()

getTimeOut

public int getTimeOut()
Retorna el timeout para limpiar el pool


main

public static void main(java.lang.String[] args)

getDataBase

public java.lang.String getDataBase()