Hi Andy,
I was considering that also however the req and res objects are specified
as private members of the overall class that has been created (extends
filter obviously) and i would have assumed that each request would
instatiate a new object.

Certainly willing to try them as local variables if you think that may
help.

cheers,
Bradley

>�Where are your req and res variables defined? They should be
>�local to the doFilter() method or you could get concurrency
>�issues.
>�
>�Andy
>�
>�-----Original Message-----
>�From: Bradley Beddoes [mailto:[EMAIL PROTECTED] 
>�Sent: 28 October 2003 07:50
>�To: [EMAIL PROTECTED]
>�Subject: Servlet.Service() NullPointer on Filter - Really need
>�some help on this one...
>�
>�
>�Hi All,
>�I am hoping that someone is able to assist with some problems I
>�am currently having with a filter I have written. The filter is
>�designed to deal with authentication for users to check they have
>�a particular cookie set then place an object into the session for
>�further use. I have researched this error extensively online and
>�can't find any documentation on correcting it.
>�
>�The error presented below only occurs on around 12% of requests
>�(sometimes a few percent either side of this) according to my
>�profiler when the code is put under some load - I am wondering if
>�it may be caused by some form of concurrent request error in the
>�filters whereby the Servlet object is being reset or otherwise
>�nulled out.
>�
>�The codebase looks like:
>�public void doFilter( ServletRequest request, ServletResponse
>�response, FilterChain chain )throws IOException, ServletException
>�    {
>�        try
>�        {
>�            req = (HttpServletRequest)request;
>�            res = (HttpServletResponse)response;
>�
>�            ......
>�
>�            //Create Session object
>�            HttpSession session = req.getSession( true );
>�            session.setAttribute( QutClientObject.NAME,
>�qutClient );
>�            sessionCreated = true;
>�
>�            //set REMOTE_USER
>�    
>�res.addHeader("REMOTE_USER",qutClient.getUserName());
>�
>�              // Filter chaining completed, move to next filter
>�in chain
>�            chain.doFilter( request, response );
>�
>�            return;
>�                 }
>�         }
>�
>�Error occurs on line: req.getSession( true );
>�
>�The error from tomcat(both 4.1.24 and 4.1.27) is: 
>�
>�2003-10-28 17:35:35 StandardWrapperValve[jsp]: Servlet.service()
>�for servlet jsp threw exception
>�java.lang.NullPointerException
>�        at
>�org.apache.coyote.tomcat4.CoyoteRequestFacade.getSession(CoyoteRe
>�questFacade .java:365)
>�        at
>�au.edu.qut.jauth.client.JAuthFilter.doFilter(JAuthFilter.java:197
>�)
>�        at
>�org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>�Application FilterChain.java:213)
>�        at
>�org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicat
>�ionFilterCh ain.java:193)
>�        at
>�org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrap
>�perValve.ja va:256)
>�        at
>�org.apache.catalina.core.StandardPipeline$StandardPipelineValveCo
>�ntext.invok eNext(StandardPipeline.java:643)
>�        at
>�org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline
>�.java:480)
>�        at
>�org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
>�995)
>�        at
>�org.apache.catalina.core.StandardContextValve.invoke(StandardCont
>�extValve.ja va:191)
>�        at
>�org.apache.catalina.core.StandardPipeline$StandardPipelineValveCo
>�ntext.invok eNext(StandardPipeline.java:643)
>�        at
>�org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline
>�.java:480)
>�        at
>�org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
>�995)
>�        at
>�org.apache.catalina.core.StandardContext.invoke(StandardContext.j
>�ava:2416)
>�        at
>�org.apache.catalina.core.StandardHostValve.invoke(StandardHostVal
>�ve.java:180 )
>�        at
>�org.apache.catalina.core.StandardPipeline$StandardPipelineValveCo
>�ntext.invok eNext(StandardPipeline.java:643)
>�        at
>�org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispa
>�tcherValve. java:171)
>�        at
>�org.apache.catalina.core.StandardPipeline$StandardPipelineValveCo
>�ntext.invok eNext(StandardPipeline.java:641)
>�        at
>�org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportVal
>�ve.java:172 )
>�        at
>�org.apache.catalina.core.StandardPipeline$StandardPipelineValveCo
>�ntext.invok eNext(StandardPipeline.java:641)
>�        at
>�org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline
>�.java:480)
>�        at
>�org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
>�995)
>�        at
>�org.apache.catalina.core.StandardEngineValve.invoke(StandardEngin
>�eValve.java :174)
>�        at
>�org.apache.catalina.core.StandardPipeline$StandardPipelineValveCo
>�ntext.invok eNext(StandardPipeline.java:643)
>�        at
>�org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline
>�.java:480)
>�        at
>�org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
>�995)
>�        at
>�org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.jav
>�a:223)
>�        at
>�org.apache.coyote.http11.Http11Processor.process(Http11Processor.
>�java:601)
>�        at
>�org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.p
>�rocessConne ction(Http11Protocol.java:392)
>�        at
>�org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.
>�java:565)
>�        at
>�org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Thr
>�eadPool.jav a:619)
>�        at java.lang.Thread.run(Thread.java:534)
>�
>�
>�Any help would be very much appreciated I am almost out of ideas
>�for this one...
>�
>�cheers,
>�Bradley.
>�
>�
>�
>�
>�-----------------------------------------------------------------
>�---- To unsubscribe, e-mail:
>[EMAIL PROTECTED] For additional
>�commands, e-mail: [EMAIL PROTECTED]
>�
>�-----------------------------------------------------------------
>�---- To unsubscribe, e-mail:
>[EMAIL PROTECTED] For additional
>�commands, e-mail: [EMAIL PROTECTED]
>�

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to