FELIX-2635 Apply patch by Victor Antonovich (slightly modified to explicitly assign null after destroyal and adding try-catch around the destroy calls)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1002635 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
index e69a8fc..f4188da 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
@@ -270,11 +270,10 @@
*/
void setServletContext( ServletContext servletContext )
{
- this.servletContext = servletContext;
-
final Plugin[] plugin = getPlugins();
if ( servletContext != null )
{
+ this.servletContext = servletContext;
for ( int i = 0; i < plugin.length; i++ )
{
try
@@ -291,8 +290,13 @@
{
for ( int i = 0; i < plugin.length; i++ )
{
- plugin[i].destroy();
+ try {
+ plugin[i].destroy();
+ } catch (Throwable t) {
+ // TODO: log !!
+ }
}
+ this.servletContext = null;
}
}