Hello, I have been biten by the Tomcat/CGlib/redploy issue where tomcat is unable or unwilling to garbage collect threadlocals upon redploy. I thought I would give the Jetty version of Geronimo a try.
Much to my surprise, my app fails to deploy under Geronimo using Jetty. I am somewhat confused as to the exact issue, but near as I can tell, or at least suspect, that I am running into classloader issues under Jetty. I am not sure if this is Geronimo related or simply that Jetty requires a different deployment. The web.xml for my app is pretty simple and just uses a filter to the ACEGI FilterToBeanProxy, a ContextLoaderListener and a DispatcherServlet. If anyone has any idea as to what the issue is I am all ears. Thanks, Dennis The class not found error is below. 20:34:47,554 ERROR [GBeanInstanceState] Error while starting; GBean is now in th e FAILED state: objectName="geronimo.server:name=Acegi-Security,J2EEServer=geron imo,J2EEApplication=null,WebModule=acconline,j2eeType=WebFilter" javax.servlet.ServletException: Class of type net.sf.acegisecurity.util.FilterChainProxy not found in classloader My web.xml is below. <?xml version="1.0" encoding="UTF-8"?> <!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> <display-name>acconline</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <filter> <filter-name>Acegi-Security</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-Security</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dao-*.xml /WEB-INF/service-*.xml /WEB-INF/context-*.xml /WEB-INF/*-datasource.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <servlet> <servlet-name>ACCOnline</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ACCOnline</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <session-config> <session-timeout>15</session-timeout> </session-config> </web-app> Here is my geronimo-web,xml as well jsut so you have a complete picture. <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0" configId="acconline"> <hidden-classes><filter>org.springframework</filter></hidden-classes> <hidden-classes><filter>net.sf.cglib</filter></hidden-classes> <hidden-classes><filter>net.sf.acegisecurity</filter></hidden-classes> <context-root>/acconline</context-root> <context-priority-classloader>false</context-priority-classloader> </web-app>
