Java - Pool de Conexiones

 
Vista:

Pool de Conexiones

Publicado por silvia (4 intervenciones) el 01/12/2005 18:52:00
Hola

Tengo una aplicación desarrollada en Java y la Base de Datos en MySQL.
Cada vez que la aplicación se intente conectar a la BD necesito que se cree una conexión diferente, es decir si quiero introducir algo en la BD se realiza una conexión, si seguido quiero borrar otra y asi sucesivamente. Eso si, me gustaría que dichas conexiones fuesen reutilizables, ya que cada vez que se hace un close se inahabilita la conexión.
¿Que me aconsejais para solucionar dicho problema?

Un saludo y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Pool de Conexiones

Publicado por chuidiang (950 intervenciones) el 01/12/2005 21:56:09
Hola:

Puedes hacerte una clase que se parezca a esto

class LaConexion
{
private static Connection conexion=null;
public Connection dameConexion (....)
{
if (conexion == null)
{
conexion = Driver.getConnection(...);
}
if (conexion.isClosed())
{
conexion=null;
return dameConexion();
}
return conexion;
}
}

Basicamente es una clase con un atributo estatico que es la conexion unica. También un metodo dameConexion() que si la conexion es null o esta cerrada, la crea y la devuelve. Si no es null y esta abierta, la devuelve tal cual.

Todo el mundo, en vez de crear su propia conexion, debería conseguirla llamando a

Connection c = LaConexion.dameConexion(...);

Si quieres trabajar un poco más y evitar que la cierre alguien, puedes poner métodos del estilo createStatement() que devuelven el Statement, de esta forma nadie vería directamete la Connection y nadie podría cerrarla.

Se buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pool de Conexiones

Publicado por silvia (4 intervenciones) el 05/12/2005 17:41:42
Hola

Podrías explicarme lo del createStatement() es q soy novata con esto y no acabo de entender eso de que nadie podría cerrar la conexión, ni ver la Connection.

Gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar