🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.lenguajes.java
2 messages
2 total messages Started by MauricioVilla Tue, 06 Mar 2007 18:36
Pool de conexión
#763
Author: MauricioVilla
Date: Tue, 06 Mar 2007 18:36
77 lines
3170 bytes
Hola a todos:

Necesito que me ayuden con un asunto, que me tiene hace días pegado, y
es lo siguiente:

Estoy desarrollando un sistema, el cual trabaja con paginas jsp y con
javabeans. Accedo a una base de datos Postgres, a través de un de
estos javabeans, el cual recibe una consulta y retorna un ResultSet:


package conexionDB;
import java.sql.*;

public class ConectorDB
{
    private Connection conexion=null;
    private Statement instruccion;
    private String url="jdbc:postgresql://localhost:5432/BD";
    private String usuario="usuario";
    private String contraseña="contraseña";
    private ResultSet r;

    public ConectorDB()
    {
        if(conexion==null)
        {
            try
            {
                Class.forName("org.postgresql.Driver");
 
conexion=DriverManager.getConnection(url,usuario,contraseña);
                instruccion=conexion.createStatement();
            }
            catch(Exception e)
            {
                System.out.println("Error en la conexion a la DB:
"+e.toString());
            }
        }
    }

    public ResultSet ejecutarConsulta(String query) throws
SQLException
    {
        r=instruccion.executeQuery(query);
        return r;
    }

    protected void finalize()
    {
        try
        {
            instruccion.close();
            conexion.close();
        }
        catch(SQLException error)
        {
            error.printStackTrace();
        }
    }

}


El problema que tengo con esto, es que se me crean demasiados procesos
postgres en mi PC, lo que hace lenta la ejecucion.

He leído que debo trabajar con un pool de conexiones, pero aún no
encuentro como hacerlo. Para que me ayuden, estoy trabajando con:

IDE: NetBeans 5.5
Server: Sun Java System Application Server 9
Base de datos: PostgreSQL Database Server 8.1

Al parecer el mismo Server trae una forma de trabajar con pooling.

Espero sus ayudas. Muchas gracias
Re: Pool de conexión
#766
Author: Eduardo Yáñez Parareda
Date: Wed, 07 Mar 2007 09:03
16 lines
1805 bytes
> Server: Sun Java System Application Server 9

Efect�vamente todos los servidores de aplicaciones y contenedores de servlets suelen traer implementados
ya unos pooles de conexi�n. Deber�as leer la ayuda del servidor qu� est�s utilizando para ver la manera de
configurarlos, y luego podr�s acceder a �l v�a JNDI. En la yuda del servidor de aplicaciones probablemente
encontrar�s alg�n c�digo de ejemplo de c�mo acceder al pool.

Por ejemplo, una vez definido un pool, se puede obtener una conexi�n as�:
	java.sql.Connection connect = java.sql.DriverManager.getConnection("jdbc:apache:commons:dbcp:" + poolName);
	connect.setAutoCommit(false);
	myTransaction.setConnection(poolName, connect);
	return connect;

Evidentemente, en tu servidor de aplicaciones, el identificador y path del pool ser� totalmente distinto, te tendr�s que 
buscar un poco la vida para saber como se identifican.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads