On Apr 2, 2006, at 11:53 AM, Dennis Cartier wrote:

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.

Hi Dennis,
I'm pretty sure that I've seen evidence of the ThreadLocal GC problem while running Geronimo w/ Jetty. So, don't be too hopeful...

I've thought about investigating ways that Geronimo could fix this problem... I'd be interested in hearing specifics about your environment (application size, number of expected deployments, etc) and how much pain it's causing (i.e. help prioritize the work...).

--kevan


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>

Reply via email to