costin      01/02/16 23:08:18

  Modified:    src/facade22/org/apache/tomcat/facade
                        Servlet22Interceptor.java
  Log:
  Fix for the destroy() bug reported by [EMAIL PROTECTED]
  
  Now both jspDestroy() and destroy() should work ( please check the next
  nigthly build ).
  
  The fix is specific to 3.3.
  
  ( BTW, I can try to do a fix in 3.2.x, but if the bug is present in 3.2.1
  and it's not a regression I would rather fix other bugs in 3.3 )
  
  The problem was that the servlet was removed from context, and then
  destroy() did nothing ( it checks if the servlet is initialized - when
  it's removed from the context the servlet is no longer in a "stable"
  state, it's orphan )
  
  Revision  Changes    Path
  1.11      +8 -2      
jakarta-tomcat/src/facade22/org/apache/tomcat/facade/Servlet22Interceptor.java
  
  Index: Servlet22Interceptor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/facade22/org/apache/tomcat/facade/Servlet22Interceptor.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Servlet22Interceptor.java 2001/01/01 00:17:22     1.10
  +++ Servlet22Interceptor.java 2001/02/17 07:08:18     1.11
  @@ -116,14 +116,20 @@
        while (enum.hasMoreElements()) {
            String key = (String)enum.nextElement();
            Handler wrapper = ctx.getServletByName( key );
  -         if( ! (wrapper instanceof ServletHandler) )
  +         
  +         if( ! (wrapper instanceof ServletHandler) ) 
                continue;
  -         ctx.removeServletByName( key );
  +
            try {
                ((ServletHandler)wrapper).destroy();
            } catch(Exception ex ) {
                ctx.log( "Error in destroy ", ex);
            }
  +         // remove the context after it is destroyed.
  +         // remove will "un-declare" the servlet
  +         // After this the servlet will be in STATE_NEW, and can
  +         // be reused.
  +         ctx.removeServletByName( key );
        }
       }
       
  
  
  

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

Reply via email to