Re: [c3p0-users] Deadlock at BasicResourcePool.awaitAvailable
Status: Beta
Brought to you by:
swaldman
From: <cci...@gm...> - 2006-12-18 16:16:31
|
2006/12/16, Steve Waldman <swa...@mc...>: > Pay attention to those stack traces -- they > tell you how the Connection that eventually leaked was originally > checked out. Thanks Steve! Those stack traces told me where exactly my fault was. I have four methods which execute some database operation; two of them were not closing the session (which means that I accidentally lied to you about closing all sessions). They were something like this: public List<User> list() { return getSession().createCriteria(User.class).list(); } Then I changed to this: public List<User> list() { List<User> list; Session session =3D getSession(); try { Transaction transaction =3D session.beginTransaction(); try { list =3D getSession().createCriteria(User.class).lis= t(); transaction.commit(); } catch (HibernateException exception) { transaction.rollback(); throw exception; } } finally { releaseSession(session); } return list } Problem solved! :-) No more deadlocks. Thanks for your patience! C=E9lio. |