Hi, not sure if this will help or not ;-)
I encountered the same problem with a web app where I was getting messages about the session being closed. The problem was occuring when the system (Using Spring and Hibernate) was attempting render the page to be sent back to the user.
I have lazy loading active so hibernate was not grabbing stuff from the database until it was accessed and many POJO properties are not accessed until they are needed for displaying data to the user. So basically the hibernate sesion was closing after the controller code had run, but then whilst rendering the web page, previously un-accessed properties where causing hibernate to try and obtian further data from the database, hence the error messages.
The solution was to enable an Interceptor which takes control of the hibernate sessions and keeps them open right to the end of the request. This means that once out of the spring controller and when rendering the web page for the user, hibernate is still available for further querying if needed.
Read
http://www.jroller.com/page/kbaum?entry=orm_lazy_initialization_with_dao
For a detailed example.