Identificarte

Versión Completa : Ayuda pool de conexiones


Sponsored links
.




artotor
julio 18, 2006, 04:04
Buenas tardes.

Mi problema es el siguiente. estoy trabajando con un pool de conexiones que configuré en mi contexto.
En la aplicacion cuando tomo de DataSource y retorno la conexion bien.

Mi problea es que necesito saber cuantas conexiones del pool estan activas.

Ojalá me puedan ayudar.

Grissom.
julio 18, 2006, 05:09
Eso depende del Application Server estés empleando, quizás tenga una opción para mostrarte el dato. Esta información te la puede dar directamente la base de datos también, y de igual forma depende de qué base de datos uses.

artotor
julio 18, 2006, 05:17
Eso depende del Application Server estés empleando, quizás tenga una opción para mostrarte el dato. Esta información te la puede dar directamente la base de datos también, y de igual forma depende de qué base de datos uses.

estoy utilizando el servidor web tomcat 5.0.28 y postgres y oracle, aunque la BD no importa por que eso se define en el datasource.

el DataSource lo estoy definiendo así:
<Resource name="conexionPostgres" type="javax.sql.DataSource"/>
<ResourceParams name="conexionPostgres">
<parameter>
<name>maxWait</name>
<value>1000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>21</value>
</parameter>
<parameter>
<name>password</name>
<value>xxxxxxxx</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://localhost:5432/bd</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>1</value>
</parameter>
<parameter>
<name>username</name>
<value>usuario</value>
</parameter>
</ResourceParams>


Y el DataSource en el servlet lo tomo de la siguiente forma:

private DataSource fuenteDatos = null;
try
{
Context contextoInicial = new InitialContext();
Context contexto = (Context) contextoInicial.lookup("java:comp/env");
fuenteDatos = (DataSource) contexto.lookup("conexionPostgres");

}
catch (Exception e)
{
e.printStackTrace();
}


Y la conexion la tomo:

Connection con=null;

synchronized (fuenteDatos)
{
con = fuenteDatos.getConnection();
}


Hasta aqui bien.

El problema es que necesito saber cuantas conexiones tengo activas, ojalá me puedas ayudar.

Grissom.
julio 18, 2006, 06:01
Ah quieres obtener el dato de cantidad de conexiones activas en el pool desde el código de tu aplicación ! ... esto es muy específico de cada App Server, no hay una forma estándar ... sorry, te toca averiguarlo en la documentación de Tomcat o quizás alguien lo haya implementado aquí.

De momento me vuelvo espectador, suerte.

artotor
julio 25, 2006, 01:50
Ah quieres obtener el dato de cantidad de conexiones activas en el pool desde el código de tu aplicación ! ... esto es muy específico de cada App Server, no hay una forma estándar ... sorry, te toca averiguarlo en la documentación de Tomcat o quizás alguien lo haya implementado aquí.

De momento me vuelvo espectador, suerte.


Gracias por tu ayuda, te diré si encuentro algo.