Author: remm Date: Thu Aug 17 06:22:44 2006 New Revision: 432230 URL: http://svn.apache.org/viewvc?rev=432230&view=rev Log: - Calling allocate for no reason was not a very good idea (adding an accessor instead for now, bleh). - Simplify the event method.
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java?rev=432230&r1=432229&r2=432230&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java Thu Aug 17 06:22:44 2006 @@ -217,6 +217,12 @@ /** + * Return the associated servlet instance. + */ + public Servlet getServlet(); + + + /** * Return the value for the specified initialization parameter name, * if any; otherwise return <code>null</code>. * Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=432230&r1=432229&r2=432230&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Thu Aug 17 06:22:44 2006 @@ -19,6 +19,8 @@ import java.io.IOException; +import javax.servlet.Servlet; + import org.apache.catalina.CometProcessor; import org.apache.catalina.Context; import org.apache.catalina.Globals; @@ -117,25 +119,16 @@ if (request.getWrapper() != null) { + CometProcessor servlet = null; + // Bind the context CL to the current thread if (request.getContext().getLoader() != null ) { Thread.currentThread().setContextClassLoader (request.getContext().getLoader().getClassLoader()); } - CometProcessor servlet = null; try { servlet = (CometProcessor) request.getWrapper().allocate(); - } catch (Throwable t) { - log.error(sm.getString("coyoteAdapter.service"), t); - request.recycle(); - response.recycle(); - // Restore the context classloader - Thread.currentThread().setContextClassLoader - (CoyoteAdapter.class.getClassLoader()); - return false; - } - try { if (error) { servlet.error(request.getRequest(), response.getResponse()); } else { @@ -167,6 +160,11 @@ // Restore the context classloader Thread.currentThread().setContextClassLoader (CoyoteAdapter.class.getClassLoader()); + try { + request.getWrapper().deallocate((Servlet) servlet); + } catch (Exception e) { + log.error(sm.getString("coyoteAdapter.service"), e); + } // Recycle the wrapper request and response if (error || response.isClosed()) { request.recycle(); @@ -225,7 +223,7 @@ connector.getContainer().getPipeline().getFirst().invoke(request, response); } - if (request.getWrapper().allocate() instanceof CometProcessor + if (request.getWrapper().getServlet() instanceof CometProcessor && !response.isClosed()) { comet = true; res.action(ActionCode.ACTION_COMET_BEGIN, null); Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java?rev=432230&r1=432229&r2=432230&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java Thu Aug 17 06:22:44 2006 @@ -750,6 +750,14 @@ /** + * Return the associated servlet instance. + */ + public Servlet getServlet() { + return instance; + } + + + /** * Allocate an initialized instance of this Servlet that is ready to have * its <code>service()</code> method called. If the servlet class does * not implement <code>SingleThreadModel</code>, the (only) initialized --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]