You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@locus.apache.org on 2000/08/08 03:29:44 UTC

cvs commit: jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core StandardWrapper.java StandardWrapperValve.java

craigmcc    00/08/07 18:29:44

  Modified:    proposals/catalina/src/share/org/apache/tomcat
                        InstanceEvent.java
               proposals/catalina/src/share/org/apache/tomcat/core
                        StandardWrapper.java StandardWrapperValve.java
  Log:
  Add "before service()" and "after service()" events to the set of events
  handled by an InstanceListener.
  
  Revision  Changes    Path
  1.2       +17 -3     jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/InstanceEvent.java
  
  Index: InstanceEvent.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/InstanceEvent.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstanceEvent.java	2000/08/02 18:53:46	1.1
  +++ InstanceEvent.java	2000/08/08 01:29:42	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/InstanceEvent.java,v 1.1 2000/08/02 18:53:46 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/08/02 18:53:46 $
  + * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/InstanceEvent.java,v 1.2 2000/08/08 01:29:42 craigmcc Exp $
  + * $Revision: 1.2 $
  + * $Date: 2000/08/08 01:29:42 $
    *
    * ====================================================================
    *
  @@ -75,7 +75,7 @@
    * that manages it.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.1 $ $Date: 2000/08/02 18:53:46 $
  + * @version $Revision: 1.2 $ $Date: 2000/08/08 01:29:42 $
    */
   
   public final class InstanceEvent
  @@ -96,6 +96,20 @@
        * The event indicating that the <code>init()</code> method has returned.
        */
       public static final String AFTER_INIT_EVENT = "afterInit";
  +
  +
  +    /**
  +     * The event indicating that the <code>service()</code> method is about
  +     * to be called for this instance.
  +     */
  +    public static final String BEFORE_SERVICE_EVENT = "beforeService";
  +
  +
  +    /**
  +     * The event indicating that the <code>service()</code> method has
  +     * returned.
  +     */
  +    public static final String AFTER_SERVICE_EVENT = "afterService";
   
   
       /**
  
  
  
  1.18      +14 -4     jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapper.java
  
  Index: StandardWrapper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapper.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- StandardWrapper.java	2000/08/02 18:53:47	1.17
  +++ StandardWrapper.java	2000/08/08 01:29:43	1.18
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapper.java,v 1.17 2000/08/02 18:53:47 craigmcc Exp $
  - * $Revision: 1.17 $
  - * $Date: 2000/08/02 18:53:47 $
  + * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapper.java,v 1.18 2000/08/08 01:29:43 craigmcc Exp $
  + * $Revision: 1.18 $
  + * $Date: 2000/08/08 01:29:43 $
    *
    * ====================================================================
    *
  @@ -100,7 +100,7 @@
    * make them efficient are counter-productive.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.17 $ $Date: 2000/08/02 18:53:47 $
  + * @version $Revision: 1.18 $ $Date: 2000/08/08 01:29:43 $
    */
   
   public final class StandardWrapper
  @@ -275,6 +275,16 @@
       public String getInfo() {
   
   	return (info);
  +
  +    }
  +
  +
  +    /**
  +     * Return the InstanceSupport object for this Wrapper instance.
  +     */
  +    public InstanceSupport getInstanceSupport() {
  +
  +	return (this.instanceSupport);
   
       }
   
  
  
  
  1.16      +19 -4     jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapperValve.java
  
  Index: StandardWrapperValve.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapperValve.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- StandardWrapperValve.java	2000/06/24 01:09:00	1.15
  +++ StandardWrapperValve.java	2000/08/08 01:29:43	1.16
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapperValve.java,v 1.15 2000/06/24 01:09:00 craigmcc Exp $
  - * $Revision: 1.15 $
  - * $Date: 2000/06/24 01:09:00 $
  + * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardWrapperValve.java,v 1.16 2000/08/08 01:29:43 craigmcc Exp $
  + * $Revision: 1.16 $
  + * $Date: 2000/08/08 01:29:43 $
    *
    * ====================================================================
    *
  @@ -82,11 +82,13 @@
   import org.apache.tomcat.Context;
   import org.apache.tomcat.HttpRequest;
   import org.apache.tomcat.HttpResponse;
  +import org.apache.tomcat.InstanceEvent;
   import org.apache.tomcat.Logger;
   import org.apache.tomcat.Request;
   import org.apache.tomcat.Response;
   import org.apache.tomcat.Wrapper;
   import org.apache.tomcat.deploy.ErrorPage;
  +import org.apache.tomcat.util.InstanceSupport;
   import org.apache.tomcat.util.StringManager;
   import org.apache.tomcat.valves.ValveBase;
   
  @@ -96,7 +98,7 @@
    * <code>StandardWrapper</code> container implementation.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.15 $ $Date: 2000/06/24 01:09:00 $
  + * @version $Revision: 1.16 $ $Date: 2000/08/08 01:29:43 $
    */
   
   final class StandardWrapperValve
  @@ -139,6 +141,7 @@
   	boolean unavailable = false;
   	Throwable throwable = null;
   	StandardWrapper wrapper = (StandardWrapper) getContainer();
  +	InstanceSupport support = wrapper.getInstanceSupport();
   	ServletRequest sreq = request.getRequest();
   	ServletResponse sres = response.getResponse();
   	Servlet servlet = null;
  @@ -188,30 +191,42 @@
   	// Call the service() method of this instance
   	try {
   	    if (servlet != null) {
  +		support.fireInstanceEvent(InstanceEvent.BEFORE_SERVICE_EVENT,
  +					  servlet);
   		if ((servlet instanceof HttpServlet) &&
   		    (hreq != null) && (hres != null)) {
   		    ((HttpServlet) servlet).service(hreq, hres);
   		} else {
   		    servlet.service(sreq, sres);
   		}
  +		support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
  +					  servlet);
   	    }
   	} catch (IOException e) {
  +	    support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
  +				      servlet);
   	    log(sm.getString("standardWrapper.serviceException",
   			     wrapper.getName()), e);
   	    ;	// No reporting to the response
   	    ;	// No change in availability status
   	} catch (UnavailableException e) {
  +	    support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
  +				      servlet);
   	    log(sm.getString("standardWrapper.serviceException",
   			     wrapper.getName()), e);
   	    throwable = e;
   	    exception(request, response, e);
   	    wrapper.unavailable(e);
   	} catch (ServletException e) {
  +	    support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
  +				      servlet);
   	    log(sm.getString("standardWrapper.serviceException",
   			     wrapper.getName()), e);
   	    throwable = e;
   	    exception(request, response, e);
   	} catch (Throwable e) {
  +	    support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
  +				      servlet);
   	    log(sm.getString("standardWrapper.serviceException",
   			     wrapper.getName()), e);
   	    throwable = e;