Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/04/2013, 01:21
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Pool conexiones a base de datos

Hola:

Para estar preparado para el número de usuarios, lo normal es que un pool se pueda configurar para indicar cuántas conexiones mínimas y máximas puede tener abiertas, cuánto tiempo tiene que estar desocupada una conexión para cerrarla definitivamente, etc, etc.

Un pool de conexiones tiene sentido cuando va a haber más usuarios que conexiones abiertas y los usuarios acceden de forma intermitente, sin poder controlar cuándo. Es claramente el caso de una aplicación web.

En una aplicación de escritorio tiene sentido si:
- La aplicación está dividida en dos ejecutales, uno "servidor" y otro "cliente" estilo SWING y hay muchos usuarios que van a arrancar el cliente. El pool de conexiones lo tendría el servidor. En este caso las aplicaciones clientes serían el equivalente a los clientes web.
- Si es una aplicación de escritorio normal, pero va a haber muchos hilos arrancándose y parándose y accediendo a base de datos. Es el caso, por ejemplo, de una aplicación de escritorio que procesa entradas procedentes de varios sitios (sockets, puertos serie, etc, etc) y un hilo para cada posible entrada. En este caso, los hilos serían el equivalente a los "clientes web".

En cualquier caso, si la aplicación es tal que sólo son unas pocas conexiones y que está perfectamente delimitado cuando se usan, el pool puede ser matar moscas a cañonazos. En los casos anteriores, si sabes que como máximo puede haber 2 clientes SWING o que como máximo hay 3 sockets, por ejemplo, no tiene tampoco mucho sentido hacer el pool, salvo que pienses que en un futuro puede haber más.

Se bueno.
__________________
Apuntes Java
Wiki de Programación