luehe 2004/08/09 15:55:00
Modified: catalina/src/share/org/apache/catalina/connector
Request.java
Log:
Reverted previous patch (except for keeping the GMT_ZONE constant),
because SimpleDateFormat is not thread-safe and therefore cannot be
declared as a static var.
We could pass "null" to FastHttpDateFormat.parseDate(), in which case
we would leverage FastHttpDateFormat's SimpleDateFormat[] constant,
but this would mean that dates would be parsed within the synchronized
block in FastHttpDateFormat.parseDate(), which may be costly.
Revision Changes Path
1.12 +26 -18
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/Request.java
Index: Request.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/connector/Request.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- Request.java 6 Aug 2004 01:27:50 -0000 1.11
+++ Request.java 9 Aug 2004 22:55:00 -0000 1.12
@@ -82,6 +82,18 @@
implements HttpServletRequest {
+ // ----------------------------------------------------------- Constructors
+
+
+ public Request() {
+
+ formats[0].setTimeZone(GMT_ZONE);
+ formats[1].setTimeZone(GMT_ZONE);
+ formats[2].setTimeZone(GMT_ZONE);
+
+ }
+
+
// ------------------------------------------------------------- Properties
@@ -111,26 +123,9 @@
// ----------------------------------------------------- Variables
- /**
- * The set of SimpleDateFormat formats to use in getDateHeader().
- */
- protected static final SimpleDateFormat FORMATS[] = {
- new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
- new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
- new SimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US)
- };
-
-
protected static final TimeZone GMT_ZONE = TimeZone.getTimeZone("GMT");
- static {
- FORMATS[0].setTimeZone(GMT_ZONE);
- FORMATS[1].setTimeZone(GMT_ZONE);
- FORMATS[2].setTimeZone(GMT_ZONE);
- }
-
-
/**
* The string manager for this package.
*/
@@ -145,6 +140,19 @@
/**
+ * The set of SimpleDateFormat formats to use in getDateHeader().
+ *
+ * Notice that because SimpleDateFormat is not thread-safe, we can't
+ * declare formats[] as a static variable.
+ */
+ protected SimpleDateFormat formats[] = {
+ new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
+ new SimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
+ new SimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US)
+ };
+
+
+ /**
* The default Locale if none are specified.
*/
protected static Locale defaultLocale = Locale.getDefault();
@@ -1765,7 +1773,7 @@
return (-1L);
// Attempt to convert the date header in a variety of formats
- long result = FastHttpDateFormat.parseDate(value, FORMATS);
+ long result = FastHttpDateFormat.parseDate(value, formats);
if (result != (-1L)) {
return result;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]