Aaron,

   We are using the SpringFramework to help with a lot of stuff like this.  We 
have installed a servlet filter that starts the hibernate session at the 
beginning of the request and ends it at the end of the request.  This has been 
a huge boon for us in allowing lazy loading of our objects.

    <filter>
      <filter-name>hibernateFilter</filter-name>
      <filter-class>
      org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
      </filter-class>
    </filter>

    <filter-mapping>
      <filter-name>hibernateFilter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>

   There are a good number of other benefits to integrating in Spring with JSF 
and Hibernate.  It uses a very similar idea of dependency injection, and 
provides a JSF Variable Resolver that will look within the Spring managed beans 
when looking for beans via JSF EL.  We have all of our Hibernate/Database 
configuration managed by Spring. 

-----Original Message-----
From: Aaron Bartell [mailto:[EMAIL PROTECTED] 
Sent: Friday, April 08, 2005 3:11 PM
To: MyFaces Discussion
Subject: Where to store DB connection in JSF session

Up to today I have been storing my Hibernate db connection in a session bean 
called DBConn, but I am finding that it is timing out quite often even though I 
have database connection pooling setup through Tomcat JNDI (using MySQL as DB).

What I am wondering is what practices others use in storing their DB connection 
in JSF apps.  My thought is to grab a new connection at each request vs trying 
to store it in the FacesContext. I was going to do this by utilizing phase 
listeners - open my Hibernate session in the "Restore View" phase and close the 
session in the "Render Response" 
phase.  This way there is no way I will ever get a timed out DB connection is 
what I am thinking.

What are other's thoughts on this, and what are others doing for a scalable DB 
connection mechanism?

TIA,
Aaron Bartell

Reply via email to