Hola grupo:
Hace poco inicie un proyecto web y me aventure a hacerlo con spring+hibernate+proxool. Lo que hace proxool es administrar el pool de conexiones a la base de datos. Recien hoy agregue el proxool, porque ese me permite ver que pasa con la conexiones, y resulta que esta sucediendo lo que me temia.
Cada vez que ingreso a un formulario la aplicacion usa dos querys, lo que veo en el log, pero esas conexiones se quedan como pegadas en la sesion del tomcat ( el proxool me permite ver la conexiones en verde cuando estan disponibles, y en rojo cuando estan siendo usadas) y despues de un minuto se liberan. Si presiono F5(refrescar) vuelve a usar 2 conexiones y se quedan en rojo (no disponibles), y si hago eso varias veces termnino bloqueando la aplicacion ya que pongo como maximo 50 conexiones y el pool bloquea los accesos a la base de datos. Cuando no usaba el proxool la base de datos terminaba fuera de servicio (se colgaba).
Lo que me parece extraño es que solo uso consultas, ni siquiera son operaciones DML. En los implements de los service pongo en la cabecera:
@Service("usuarioService")
@Transactional(readOnly = true)
y en los implements de los Dao pongo @Repository("usuarioDAO") agregandole "extends HibernateTemplate" a la declaracion
Ya busque informacion en varios lados, como el "Chapter 9. Transaction management" de spring, pero aun no se donde indicarle que libere esas conexiones de inmediato una vez que haya terminado de usarlas.
En spring e hibernate soy nuevo, pero el proxool ya lo use varias veces y nunca tuve ese problema. Les agradezco me den una mano para resolver este problema
Saludos
Lyonid