Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2007, 11:17
hexborg
 
Fecha de Ingreso: octubre-2006
Mensajes: 1
Antigüedad: 17 años, 6 meses
Puntos: 0
Tamaño del pool de conexiones

Tengo una aplicación web hecha en JSP que usa tomcat 5.5.23 y se conecta a una base de datos oracle 9i 9.2.0.1 a través de un pool de conexiones.

El problema es que al hacer pruebas de estrés observo que lanza más conexiones de las que están configuradas en el pool y las mantiene abiertas mucho tiempo sin liberarlas. Parece como si no respetara el tamaño del pool.

He hecho de todo y no sé por qué está pasando esto. Si podéis ayudarme os lo agradecería.

El contenido de mi context.xml es el siguiente:

Código:
<Context path="/test" docBase="test" debug="0"
  reloadable="true" >
  <Resource
    name="jdbc/test" auth="Container"
    type="javax.sql.DataSource"
      maxActive="2" maxIdle="1" maxWait="10000"
      removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
      username="test" password="test"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      url="jdbc:oracle:thin:@192.168.1.109:1521:GLOBALDB" />
</Context>
He bajado los valores de maxActive y maxIdle para hacer las pruebas. Inicialmente eran 100 y 30.

La forma de crear la conexión es esta:

Código:
<%
  Context initCtx = new InitialContext();
  Context ctx = (Context) initCtx.lookup("java:/comp/env");
  DataSource fuenteDatos = (DataSource) ctx.lookup("/jdbc/test");
  con = fuenteDatos.getConnection();
  s = con.createStatement();
%>
El código que cierra las conexiones, que está puesto al final del jsp principal, es el siguiente:

Código:
<%-- Cerrar las conexiones --%><%
}
catch(Exception e)
{
// Tratar la excepción
}
finally
{
	try
	{
		if(r != null) r.close();
	}
	catch(Exception e)
	{
	// Tratar la excepción
	}
	try
	{
		if(s != null) s.close();
	}
	catch(Exception e)
	{
	// Tratar la excepción
	}
	try
	{
		if(con != null) con.close();
	}
	catch(Exception e)
	{
	// Tratar la excepción
	}
}
Si me pudierais decir lo que pasa os lo agradecería un montón. Ya no sé qué más hacer.

Muchas gracias y saludos a todos.