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;