atg.metier.dao.jdbc
Class ATGDaoPoolDataSource

Package class diagram package ATGDaoPoolDataSource
java.lang.Object
  extended by atg.util.service.ATGBasicClass
      extended by atg.metier.dao.jdbc.ATGDaoPoolDataSource
All Implemented Interfaces:
ATGILogable

public class ATGDaoPoolDataSource
extends ATGBasicClass

Titre : Pool de connexions aux bases de données en JDBCs

Description : Gestion de pool de connexion

Copyright : FERRARI Olivier


Field Summary
static java.lang.String CSTE_DEFAULT_REFERENCE
          Référence du pool par défaut
protected  java.util.Hashtable ctrlConnexion
          ensemble des connections creees sur la base de donnees
protected  java.sql.Driver driver
          driver permettant d'obtenir une connection
protected static java.util.logging.Logger logger_
           
protected  java.lang.String reference
          référence du pool de données
 
Method Summary
 void addCtrlConnexion(java.sql.Connection conn)
          Ajoute une connexion au mécanisme de contrôle.
 void ckeckCtrlConnexion()
          Vérifie si toutes les connexions ont bien été rendues au pool.
 java.sql.Connection getConnection()
          Renvoie une connection à la base de donnees.
protected  java.sql.Connection getConnection(long timeout)
          Renvoie une connection à la base de données.
static ATGDaoPoolDataSource getInstance()
          Renvoie l'instance unique du pool de connections par défaut.
static ATGDaoPoolDataSource getInstance(java.lang.String reference)
          Renvoie l'instance unique du pool de connections pour la référence donnée.
protected  java.util.logging.Logger getLogger()
          Ecriture des logs
static int getMaxConnection()
          Retourne le nombre maximun de connexions créées par le pool.
static int getMaxWait()
          Retourne le temps maximum d'attente d'une connexion par défaut.
static int getNumberOfDataBase()
          Retourne le nombre de bases de données.
protected  java.sql.Connection getPooledConnection()
          Renvoie une connection.
static int getStartConnection()
          Retourne le nombre de connexions que créait le pool au démarrage.
protected  void initPool()
          Initialisation du pool.
protected  boolean isConnectionOk(java.sql.Connection conn)
          Contrôle si la connection specifiée est valide.
protected  java.sql.Connection newConnection()
          Création d'une nouvelle connection.
 void release(java.sql.Connection conn)
          Libére la connection spécifiée.
static void setConnexionRequest(java.lang.String connexionRequest)
          Fixe la commande à executer lors de la création d'une nouvelle connexion.
static void setConnexionRequest(java.lang.String reference, java.lang.String connexionRequest)
          Fixe la commande à executer lors de la création d'une nouvelle connexion.
 
Methods inherited from class atg.util.service.ATGBasicClass
logConfig, logFine, logFiner, logFinest, logInfo, logSevere, logWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CSTE_DEFAULT_REFERENCE

public static final java.lang.String CSTE_DEFAULT_REFERENCE
Référence du pool par défaut

See Also:
Constant Field Values

driver

protected java.sql.Driver driver
driver permettant d'obtenir une connection


reference

protected java.lang.String reference
référence du pool de données


ctrlConnexion

protected java.util.Hashtable ctrlConnexion
ensemble des connections creees sur la base de donnees


logger_

protected static java.util.logging.Logger logger_
Method Detail

setConnexionRequest

public static void setConnexionRequest(java.lang.String reference,
                                       java.lang.String connexionRequest)
Fixe la commande à executer lors de la création d'une nouvelle connexion.

Parameters:
reference - Référence du pool de connection
connexionRequest - Commande sql à executer

setConnexionRequest

public static void setConnexionRequest(java.lang.String connexionRequest)
Fixe la commande à executer lors de la création d'une nouvelle connexion. La référence de la base correspond à la référence par défaut.

Parameters:
connexionRequest - Commande sql à executer

getInstance

public static ATGDaoPoolDataSource getInstance(java.lang.String reference)
Renvoie l'instance unique du pool de connections pour la référence donnée.

Parameters:
reference - Référence du pool de connection
Returns:
StdPoolDataSource Instance d'un pool d'accès aux données

getInstance

public static ATGDaoPoolDataSource getInstance()
Renvoie l'instance unique du pool de connections par défaut.

Returns:
StdPoolDataSource Instance d'un pool d'accès aux données

getConnection

public java.sql.Connection getConnection()
                                  throws ATGDaoBaseIndisponibleException
Renvoie une connection à la base de donnees.

Returns:
java.sql.Connection Connection à la base de données
Throws:
ATGDaoBaseIndisponibleException

initPool

protected void initPool()
Initialisation du pool. Appelé lors de l'instanciation.


getConnection

protected java.sql.Connection getConnection(long timeout)
                                     throws ATGDaoBaseIndisponibleException
Renvoie une connection à la base de données. Attend au maximum 'timeout' millisecondes l'obtention de la connection.

Parameters:
timeout - Temps d'attente maximum de la connection
Returns:
java.sql.Connection Connection à la base de données
Throws:
java.sql.SQLException - Exception SQL
ATGDaoBaseIndisponibleException

isConnectionOk

protected boolean isConnectionOk(java.sql.Connection conn)
Contrôle si la connection specifiée est valide.

Parameters:
conn - Connection à tester
Returns:
boolean Connection valide ou non

getPooledConnection

protected java.sql.Connection getPooledConnection()
                                           throws ATGDaoBaseIndisponibleException
Renvoie une connection.

Returns:
java.sql.Connection Connection à la base de données
Throws:
ATGDaoBaseIndisponibleException

newConnection

protected java.sql.Connection newConnection()
                                     throws ATGDaoBaseIndisponibleException
Création d'une nouvelle connection.

Returns:
java.sql.Connection Nouvelle connection à la base de données
Throws:
ATGDaoBaseIndisponibleException

release

public void release(java.sql.Connection conn)
Libére la connection spécifiée.

Parameters:
conn - Connection à libérer

getNumberOfDataBase

public static int getNumberOfDataBase()
Retourne le nombre de bases de données.

Returns:
int Nombre de bases de données

addCtrlConnexion

public void addCtrlConnexion(java.sql.Connection conn)
Ajoute une connexion au mécanisme de contrôle.

Parameters:
conn - Connexion à ajouter

ckeckCtrlConnexion

public void ckeckCtrlConnexion()
Vérifie si toutes les connexions ont bien été rendues au pool.


getMaxWait

public static int getMaxWait()
Retourne le temps maximum d'attente d'une connexion par défaut.

Returns:
int Temps maximum d'attente d'une connexion par défaut.

getMaxConnection

public static int getMaxConnection()
Retourne le nombre maximun de connexions créées par le pool.

Returns:
int Nombre maximun de connexions créées par le pool.

getStartConnection

public static int getStartConnection()
Retourne le nombre de connexions que créait le pool au démarrage.

Returns:
int Nombre de connexions que créait le pool au démarrage.

getLogger

protected java.util.logging.Logger getLogger()
Ecriture des logs

Overrides:
getLogger in class ATGBasicClass