Author: markt
Date: Wed Apr 18 19:27:55 2007
New Revision: 530238
URL: http://svn.apache.org/viewvc?view=rev&rev=530238
Log:
Fix bug 42071 - ISE on multiple UnavailableExceptions.
Allow recovery after an UnavailableException
Modified:
tomcat/container/tc5.5.x/webapps/docs/changelog.xml
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java
Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?view=diff&rev=530238&r1=530237&r2=530238
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Wed Apr 18 19:27:55 2007
@@ -139,6 +139,14 @@
(markt)
</fix>
<fix>
+ <bug>42071</bug> Fix IllegalStateException on multiple requests to
+ an unavailable JSP. Patch provided by Kawasima Kazuh. (markt)
+ </fix>
+ <fix>
+ After a JSP throws an UnavailableException allow it to be accessed once
+ the unavailable period has expired. (markt)
+ </fix>
+ <fix>
<bug>42072</bug> Don't call destroy() if the associated init() fails.
Patch provided by Kawasima Kazuh. (markt)
</fix>
Modified:
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java
URL:
http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java?view=diff&rev=530238&r1=530237&r2=530238
==============================================================================
---
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java
(original)
+++
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java
Wed Apr 18 19:27:55 2007
@@ -284,10 +284,16 @@
}
if ((available > 0L) && (available < Long.MAX_VALUE)) {
- response.setDateHeader("Retry-After", available);
- response.sendError
- (HttpServletResponse.SC_SERVICE_UNAVAILABLE,
- Localizer.getMessage("jsp.error.unavailable"));
+ if (available > System.currentTimeMillis()) {
+ response.setDateHeader("Retry-After", available);
+ response.sendError
+ (HttpServletResponse.SC_SERVICE_UNAVAILABLE,
+ Localizer.getMessage("jsp.error.unavailable"));
+ return;
+ } else {
+ // Wait period has expired. Reset.
+ available = 0;
+ }
}
/*
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]