Author: aogburn
Date: 2013-01-08 17:31:16 -0500 (Tue, 08 Jan 2013)
New Revision: 2147
Modified:
branches/2.1.x/java/org/apache/catalina/core/ApplicationFilterConfig.java
branches/2.1.x/java/org/apache/catalina/core/LocalStrings.properties
branches/2.1.x/java/org/apache/catalina/core/StandardContext.java
Log:
[JBWEB-257] backporting fix from 7.2.x branch
Modified: branches/2.1.x/java/org/apache/catalina/core/ApplicationFilterConfig.java
===================================================================
--- branches/2.1.x/java/org/apache/catalina/core/ApplicationFilterConfig.java 2013-01-08
14:40:54 UTC (rev 2146)
+++ branches/2.1.x/java/org/apache/catalina/core/ApplicationFilterConfig.java 2013-01-08
22:31:16 UTC (rev 2147)
@@ -256,15 +256,15 @@
if (this.filter != null)
{
- if (Globals.IS_SECURITY_ENABLED) {
- try {
+ try {
+ if (Globals.IS_SECURITY_ENABLED) {
SecurityUtil.doAsPrivilege("destroy", filter);
- } catch(java.lang.Exception ex){
-
context.getLogger().error("ApplicationFilterConfig.doAsPrivilege", ex);
+ SecurityUtil.remove(filter);
+ } else {
+ filter.destroy();
}
- SecurityUtil.remove(filter);
- } else {
- filter.destroy();
+ } catch(java.lang.Exception ex){
+
context.getLogger().error("ApplicationFilterConfig.errorDestroyingFilter", ex);
}
if (!context.getIgnoreAnnotations()) {
try {
Modified: branches/2.1.x/java/org/apache/catalina/core/LocalStrings.properties
===================================================================
--- branches/2.1.x/java/org/apache/catalina/core/LocalStrings.properties 2013-01-08
14:40:54 UTC (rev 2146)
+++ branches/2.1.x/java/org/apache/catalina/core/LocalStrings.properties 2013-01-08
22:31:16 UTC (rev 2147)
@@ -63,6 +63,7 @@
standardContext.filterMap.pattern=Invalid <url-pattern> {0} in filter mapping
standardContext.filterStart=Exception starting filter {0}
standardContext.filterStartFailed=Failed to start application Filters successfully
+standardContext.filterStop=Exception stopping filter {0}
standardContext.requestListener.requestInit=Exception sending request initialized
lifecycle event to listener instance of class {0}
standardContext.requestListener.requestDestroy=Exception sending request destroyed
lifecycle event to listener instance of class {0}
standardContext.requestListenerStartFailed=Failed to start request listener valve
successfully
@@ -199,4 +200,4 @@
defaultInstanceManager.privilegedServlet=Servlet of class {0} is privileged and cannot be
loaded by this web application
defaultInstanceManager.restrictedFiltersResource=Restricted filters property file not
found
defaultInstanceManager.privilegedFilter=Filter of class {0} is privileged and cannot be
loaded by this web application
-defaultInstanceManager.restrictedListenersResources="Restricted listeners property
file not found
\ No newline at end of file
+defaultInstanceManager.restrictedListenersResources="Restricted listeners property
file not found
Modified: branches/2.1.x/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- branches/2.1.x/java/org/apache/catalina/core/StandardContext.java 2013-01-08 14:40:54
UTC (rev 2146)
+++ branches/2.1.x/java/org/apache/catalina/core/StandardContext.java 2013-01-08 22:31:16
UTC (rev 2147)
@@ -3807,6 +3807,7 @@
getLogger().debug("Stopping filters");
// Release all Filter and FilterConfig instances
+ boolean ok = true;
synchronized (filterConfigs) {
Iterator names = filterConfigs.keySet().iterator();
while (names.hasNext()) {
@@ -3815,11 +3816,17 @@
getLogger().debug(" Stopping filter '" + name +
"'");
ApplicationFilterConfig filterConfig =
(ApplicationFilterConfig) filterConfigs.get(name);
- filterConfig.release();
+ try {
+ filterConfig.release();
+ } catch (Throwable t) {
+ getLogger().error
+ (sm.getString("standardContext.filterStop", name), t);
+ ok = false;
+ }
}
filterConfigs.clear();
}
- return (true);
+ return (ok);
}
Show replies by date