- Remove an extra throwable.
authorremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 3 Nov 2006 10:56:25 +0000 (10:56 +0000)
committerremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 3 Nov 2006 10:56:25 +0000 (10:56 +0000)
- Add a specific flag for recycling facades (when security is on, recycling will always be done, obviously).

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@470756 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/connector/Connector.java
java/org/apache/catalina/connector/Request.java
java/org/apache/catalina/connector/Response.java
java/org/apache/catalina/valves/ErrorReportValve.java

index babc2f6..05eba1d 100644 (file)
@@ -59,6 +59,13 @@ public class Connector
     private static Log log = LogFactory.getLog(Connector.class);
 
 
+    /**
+     * Alternate flag to enable recycling of facades.
+     */
+    public static final boolean RECYCLE_FACADES =
+        Boolean.valueOf(System.getProperty("org.apache.catalina.connector.RECYCLE_FACADES", "false")).booleanValue();
+
+    
     // ------------------------------------------------------------ Constructor
 
 
index 61e3de2..ec35862 100644 (file)
@@ -423,7 +423,7 @@ public class Request
         requestedSessionId = null;
         requestedSessionURL = false;
 
-        if (Constants.SECURITY) {
+        if (Constants.SECURITY || Connector.RECYCLE_FACADES) {
             parameterMap = new ParameterMap();
         } else {
             parameterMap.setLocked(false);
@@ -432,7 +432,7 @@ public class Request
 
         mappingData.recycle();
 
-        if (Constants.SECURITY) {
+        if (Constants.SECURITY || Connector.RECYCLE_FACADES) {
             if (facade != null) {
                 facade.clear();
                 facade = null;
index d9c4bc8..4ab3c72 100644 (file)
@@ -268,7 +268,7 @@ public class Response
         
         cookies.clear();
 
-        if (Constants.SECURITY) {
+        if (Constants.SECURITY || Connector.RECYCLE_FACADES) {
             if (facade != null) {
                 facade.clear();
                 facade = null;
index 0c8b3c5..793bc13 100644 (file)
@@ -153,8 +153,7 @@ public class ErrorReportValve
      *  a root cause exception
      */
     protected void report(Request request, Response response,
-                          Throwable throwable)
-        throws IOException {
+                          Throwable throwable) {
 
         // Do nothing on non-HTTP responses
         int statusCode = response.getStatus();