You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by Bryan Che <bc...@redhat.com> on 2004/10/26 15:49:47 UTC

Re: ClassCastException

Hi, I've figured out the problem.  The server uses reflection in 
org.apache.catalina.security.SecurityUtil to execute the method, 
org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(), from 
the child class org.apache.beehive.netui.pageflow.PageFlowJspFilter. 
However, because PageFlowPageFilter is not a public class, trying to 
access its doFilter() method causes an IllegalAccessException.  Changing 
that class to be public fixes the problem.

I've attached a patch for this.

Bryan

Bryan Che wrote:
> Hi, I'm getting this error when trying to load a simple Beehive webapp:
> 
> 2004-10-20 14:07:59 StandardWrapperValve[action]: Servlet.service() for 
> servlet action threw exception
> java.lang.ClassCastException: java.lang.IllegalAccessException
>     at 
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:270)
>     at 
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:213) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:183) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140) 
> 
>     at java.security.AccessController.doPrivileged(Native Method)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136) 
> 
>     at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704) 
> 
>     at 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474) 
> 
>     at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409) 
> 
>     at 
> org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:71) 
> 
>     at 
> org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:86) 
> 
>     at java.security.AccessController.doPrivileged(Native Method)
>     at 
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:304) 
> 
>     at 
> org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:113) 
> 
>     at 
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1305) 
> 
>     at 
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1203) 
> 
>     at 
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) 
> 
>     at 
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:640) 
> 
>     at 
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:694) 
> 
>     at 
> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:565) 
> 
>     at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
> 
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
> 
>     at java.lang.reflect.Method.invoke(Method.java:585)
>     at 
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>     at 
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
>     at 
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140) 
> 
>     at java.security.AccessController.doPrivileged(Native Method)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136) 
> 
>     at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) 
> 
>     at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
> 
>     at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>     at 
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) 
> 
>     at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) 
> 
>     at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
> 
>     at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 
> 
>     at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
> 
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) 
> 
>     at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) 
> 
>     at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>     at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
> 
>     at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
> 
>     at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>     at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>     at 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>     at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
>     at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) 
> 
>     at 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
>     at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) 
> 
>     at java.lang.Thread.run(Thread.java:595)
> 
> Has anyone run into this before?
> 
> Thanks,
> 
> Bryan

-- 
Bryan Che
Red Hat, Inc.
10 Technology Park
Westford, MA 01886
978-392-3107
bche@redhat.com

Re: ClassCastException

Posted by Richard Feit <ri...@bea.com>.
Thanks for delving into this, Bryan.  This is a case where reflection 
and raw code behave differently (even if you look for the doFilter 
method on the public class, you get the Method object from the package 
protected class).  Ultimately I'll probably move PageFlowPageFilter to 
org.apache.beehive.netui.pageflow.internal, but for now I simply applied 
your patch to it.  I appreciate you following up on this.

Rich

Bryan Che wrote:

> Hi, I've figured out the problem.  The server uses reflection in 
> org.apache.catalina.security.SecurityUtil to execute the method, 
> org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(), from 
> the child class org.apache.beehive.netui.pageflow.PageFlowJspFilter. 
> However, because PageFlowPageFilter is not a public class, trying to 
> access its doFilter() method causes an IllegalAccessException.  
> Changing that class to be public fixes the problem.
>
> I've attached a patch for this.
>
> Bryan
>
> Bryan Che wrote:
>
>> Hi, I'm getting this error when trying to load a simple Beehive webapp:
>>
>> 2004-10-20 14:07:59 StandardWrapperValve[action]: Servlet.service() 
>> for servlet action threw exception
>> java.lang.ClassCastException: java.lang.IllegalAccessException
>>     at 
>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:270)
>>     at 
>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:213) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:183) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140) 
>>
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:71) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:86) 
>>
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:304) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:113) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1305) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1203) 
>>
>>     at 
>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:640) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:694) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:565) 
>>
>>     at 
>> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
>>
>>     at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>
>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>     at 
>> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>     at 
>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
>>     at 
>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140) 
>>
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136) 
>>
>>     at 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) 
>>
>>     at 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>>     at 
>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>>     at 
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) 
>>
>>     at 
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) 
>>
>>     at 
>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) 
>>
>>     at 
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) 
>>
>>     at java.lang.Thread.run(Thread.java:595)
>>
>> Has anyone run into this before?
>>
>> Thanks,
>>
>> Bryan
>
>
>------------------------------------------------------------------------
>
>52c52
>< abstract class PageFlowPageFilter implements Filter
>---
>  
>
>>public abstract class PageFlowPageFilter implements Filter
>>    
>>

Re: ClassCastException

Posted by Richard Feit <ri...@bea.com>.
Thanks for delving into this, Bryan.  This is a case where reflection 
and raw code behave differently (even if you look for the doFilter 
method on the public class, you get the Method object from the package 
protected class).  Ultimately I'll probably move PageFlowPageFilter to 
org.apache.beehive.netui.pageflow.internal, but for now I simply applied 
your patch to it.  I appreciate you following up on this.

Rich

Bryan Che wrote:

> Hi, I've figured out the problem.  The server uses reflection in 
> org.apache.catalina.security.SecurityUtil to execute the method, 
> org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(), from 
> the child class org.apache.beehive.netui.pageflow.PageFlowJspFilter. 
> However, because PageFlowPageFilter is not a public class, trying to 
> access its doFilter() method causes an IllegalAccessException.  
> Changing that class to be public fixes the problem.
>
> I've attached a patch for this.
>
> Bryan
>
> Bryan Che wrote:
>
>> Hi, I'm getting this error when trying to load a simple Beehive webapp:
>>
>> 2004-10-20 14:07:59 StandardWrapperValve[action]: Servlet.service() 
>> for servlet action threw exception
>> java.lang.ClassCastException: java.lang.IllegalAccessException
>>     at 
>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:270)
>>     at 
>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:213) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:183) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140) 
>>
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:71) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:86) 
>>
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at 
>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:304) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandler.forward(DefaultForwardRedirectHandler.java:113) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlowRequestProcessor.java:1305) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwardConfig(PageFlowRequestProcessor.java:1203) 
>>
>>     at 
>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:640) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:694) 
>>
>>     at 
>> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:565) 
>>
>>     at 
>> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
>>
>>     at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>
>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>     at 
>> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>     at 
>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
>>     at 
>> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) 
>>
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140) 
>>
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136) 
>>
>>     at 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) 
>>
>>     at 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
>>
>>     at 
>> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) 
>>
>>     at 
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
>>
>>     at 
>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>>     at 
>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>>     at 
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) 
>>
>>     at 
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) 
>>
>>     at 
>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) 
>>
>>     at 
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) 
>>
>>     at java.lang.Thread.run(Thread.java:595)
>>
>> Has anyone run into this before?
>>
>> Thanks,
>>
>> Bryan
>
>
>------------------------------------------------------------------------
>
>52c52
>< abstract class PageFlowPageFilter implements Filter
>---
>  
>
>>public abstract class PageFlowPageFilter implements Filter
>>    
>>