users@glassfish.java.net

Migrate custom Valve from Tomcat 5.0/5.5

From: <glassfish_at_javadesktop.org>
Date: Fri, 28 Mar 2008 14:20:55 PST

Hi,
I have developed a valve that will redirect user to specific URL for login. I have 2 versions for Tomcat 5.0 and 5.5. Both are working fine in Tomcat. After I migrate the Valve to glassfish(V2 ur1) following the instructions from http://weblogs.java.net/blog/jfarcand/archive/2006/09/extending_glass.html
I can see the valve is initiated during server start-up. However, once I try to access any page, it throws exception:

[#|2008-03-28T15:02:02.594-0700|SEVERE|sun-appserver9.1|org.apache.coyote.tomcat5.CoyoteAdapter|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=01dae178-c5cf-4f61-8d27-fb36818d0752;|PWC3989: An exception or error occurred in the container during the request processing
java.lang.AbstractMethodError
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:609)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
|#]

I have no idea what caused this exception.
My question is: Which version of valve should I use for glassfish? The one from Tomcat 5.0 or 5.5?

Is there any resource that gives some examples of developing custom valve in glassfish?

Thanks
David
[Message sent by forum member 'davidyu' (davidyu)]

http://forums.java.net/jive/thread.jspa?messageID=266521