2 Replies Latest reply on Jul 21, 2004 6:41 PM by benstarr

    Filter not returning from chain.doFilter

    benstarr

      I have a filter that is designed to count the number of current requests being handle by Tomcat. The doFilter method looks something like:

      public void doFilter(...) throws ... {
       // increment count here
      
       try {
       chain.doFilter(request, response);
       }
       finally {
       // decrement count here
       }
      }


      The calls to increment and decrement are synchronized. However, when the server is idle the count does not return to zero. This leads me to believe that either:

      a) The chain.doFilter method is never returning for some reason
      b) The thread is being terminated in the chain.doFilter method

      I can't think of a reason why a) would ever be the case. Does anyone know whether the container (Tomcat 4.1.x) will do b) in any scenario? I can't seem to correlate it to the user hitting the stop button in the browser or being redirected within the chain.doFilter method and I can't see why this would stop the method returning anyway. Any help would be appreciated.