I'm using the CVS build of Spring 1.1.5. I was using OpenSessionInViewInterceptor, but now I'm trying to integrate ACEGI and so I need to session opened before the ACEGI filters run, which means I need to put an OpenSessionInView filter before my ACEGI filter, right? Anyway, now everything is randomly breaking. Sometimes a page will load, then I hit reload and I get a lazy initialize error. ACEGI is not cachign anything across requests, and neither am I. Every time I track the exception to the code it's in an object that was just taking out of Hibernate. Here's my web.xml:
Here's the stack trace. As you can see, the view should be open:Code:<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/eha-servlet.xml </param-value> </context-param> <filter> <filter-name>osivFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>osivFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>Acegi Filter Chain Proxy</filter-name> <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class> <init-param> <param-name>targetClass</param-name> <param-value>net.sf.acegisecurity.util.FilterChainProxy</param-value> </init-param> </filter> <filter-mapping> <filter-name>Acegi Filter Chain Proxy</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>allPages</filter-name> <filter-class>eha.filter.SiteFilter</filter-class> </filter> <filter-mapping> <filter-name>allPages</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>eha</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>eha</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> </web-app>
Does anyone have any ideas about this? I'll really owe you one. This has been driving my nuts for days. Thanks!Code:org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:53) org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:80) org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:133) eha.dao.EzMemb$$EnhancerByCGLIB$$e680b14e.toString(<generated>) java.lang.String.valueOf(String.java:2577) java.util.AbstractCollection.toString(AbstractCollection.java:454) java.lang.String.valueOf(String.java:2577) java.lang.StringBuffer.append(StringBuffer.java:220) java.util.AbstractMap.toString(AbstractMap.java:598) java.lang.String.valueOf(String.java:2577) java.lang.StringBuffer.append(StringBuffer.java:220) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:234) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:917) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:696) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:623) org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:384) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:344) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) eha.filter.SiteFilter.doFilter(SiteFilter.java:116) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:300) net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:84) net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:181) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:372) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:217) net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:179) net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125) org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
[EDIT] Switched back from Hibernate3 and Spring 1.2 to see if it was a bug in the new version... it's not.


Reply With Quote
