Hi.

I also use Spring for Hibernate configuration, and the OSIV filter.  I tend
to need connections to multiple databases.

Can you not configure the OSIV filter only for those URL patterns that match
your tapestry pages?

Also, and this is a question I don't know the answer to: Is opening a
session really expensive if you don't use it?  I thought that Spring
provided a proxy that didn't have much cost until you actually went to use
it.

Jonathan

> -----Original Message-----
> From: trekmbikes [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 24, 2007 1:50 PM
> To: users@tapestry.apache.org
> Subject: T5 / Spring / Hibernate Lazy Loading
> 
> 
> I'm brand new to Tapestry. I have a large application that uses Spring to
> configure the Hibernate SessionFactory. I have a request interceptor
> defined
> in Spring so that I can bind a Hibernate session to each request's thread.
> Closure of the session is deferred until the request returns, to prevent
> LazyLoadingExceptions (OpenSessionInViewInterceptor)
> 
> I need to apply the same hibernate-session-per-reqeust feature to the new
> Tapestry code I'm writing, which will only be a small part of a much
> bigger
> system.
> 
> My ideas are:
> a - Call Tapestry's filter methods from a custom Spring controller, then
> assign interceptors to the controller. This isn't working because the
> controller needs to be mapped to some URL pattern in web.xml (either like
> "/tap/*" or "*.tap"). It seems like Tapestry's filter doesn't like to be
> mapped to anything other than "/*". I need to keep the tapestry requests
> separate from all the other servlet mappings for now. I successfully
> mapped
> the controller to "/tap/*", which activated the interceptor, but then
> tapestry choked handling the real request.
> b - Change the OpenSessionInViewInterceptor to an OpenSessionInViewFilter.
> This would work if I declared the filter before the Tapestry filter in
> web.xml. But, some of my Spring servlets don't need this database
> connection, so I would be opening and closing the session unnecessarily.
> c - Use the Tapestry-Hibernate module and have Tapestry configure
> Hibernate
> independently from Spring. This is annoying because I'll have to move all
> my
> Hibernate configuration out of the spring XML it's in, and into a separate
> file. Plus, I'll have two complete SessionFactory instances when I really
> only needed one.
> d - I tried looking into the dispatcher classes but there's no
> "afterReturn()" method, only dispatch(). So I have no way to close the
> session/connection after the request returns.
> 
> Suggestions would be much appreciated!
> --
> View this message in context: http://www.nabble.com/T5---Spring---
> Hibernate-Lazy-Loading-tf4685218.html#a13388806
> Sent from the Tapestry - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to