Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 37513 invoked from network); 19 Apr 2003 08:31:14 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 19 Apr 2003 08:31:14 -0000 Received: (qmail 17109 invoked by uid 97); 19 Apr 2003 08:33:21 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@nagoya.betaversion.org Received: (qmail 17102 invoked from network); 19 Apr 2003 08:33:21 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by nagoya.betaversion.org with SMTP; 19 Apr 2003 08:33:21 -0000 Received: (qmail 36606 invoked by uid 500); 19 Apr 2003 08:31:06 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 36587 invoked by uid 500); 19 Apr 2003 08:31:06 -0000 Received: (qmail 36583 invoked from network); 19 Apr 2003 08:31:06 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 19 Apr 2003 08:31:06 -0000 Received: (qmail 31372 invoked by uid 1135); 19 Apr 2003 08:31:05 -0000 Date: 19 Apr 2003 08:31:05 -0000 Message-ID: <20030419083105.31371.qmail@icarus.apache.org> From: remm@apache.org To: jakarta-tomcat-catalina-cvs@apache.org Subject: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets DefaultServlet.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N remm 2003/04/19 01:31:04 Modified: catalina/src/share/org/apache/catalina/servlets DefaultServlet.java Log: - Make resource info thread local (exactly one object is needed per processing thread). Revision Changes Path 1.7 +27 -7 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java Index: DefaultServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DefaultServlet.java 18 Apr 2003 17:34:44 -0000 1.6 +++ DefaultServlet.java 19 Apr 2003 08:31:04 -0000 1.7 @@ -194,9 +194,17 @@ /** - * GMT timezone - all HTTP dates are on GMT + * Thread local resource info. */ + protected ThreadLocal localResourceInfo = new ThreadLocal(); + + // ----------------------------------------------------- Static Initializer + + + /** + * GMT timezone - all HTTP dates are on GMT + */ static { urlEncoder = new URLEncoder(); urlEncoder.addSafeCharacter('-'); @@ -574,7 +582,13 @@ // Input stream for temp. content file used to support partial PUT FileInputStream contentFileInStream = null; - ResourceInfo resourceInfo = new ResourceInfo(path, resources); + ResourceInfo resourceInfo = (ResourceInfo) localResourceInfo.get(); + if (resourceInfo == null) { + resourceInfo = new ResourceInfo(path, resources); + localResourceInfo.set(resourceInfo); + } else { + resourceInfo.set(path, resources); + } Range range = parseContentRange(req, resp); InputStream resourceInputStream = null; @@ -907,7 +921,13 @@ // Retrieve the Catalina context and Resources implementation DirContext resources = getResources(); - ResourceInfo resourceInfo = new ResourceInfo(path, resources); + ResourceInfo resourceInfo = (ResourceInfo) localResourceInfo.get(); + if (resourceInfo == null) { + resourceInfo = new ResourceInfo(path, resources); + localResourceInfo.set(resourceInfo); + } else { + resourceInfo.set(path, resources); + } if (!resourceInfo.exists) { response.sendError(HttpServletResponse.SC_NOT_FOUND, --------------------------------------------------------------------- To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org