This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push:
new 7e5495fdf9 FELIX-6620 : Avoid update of service registry on shutdown
7e5495fdf9 is described below
commit 7e5495fdf9c6e7651ead56dcadebfac0667f3568
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Sun Jul 23 10:00:32 2023 +0200
FELIX-6620 : Avoid update of service registry on shutdown
---
.../base/internal/whiteboard/WhiteboardManager.java | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git
a/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java
b/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java
index dd47c50168..0f479169d6 100644
---
a/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java
+++
b/http/base/src/main/java/org/apache/felix/http/base/internal/whiteboard/WhiteboardManager.java
@@ -164,17 +164,17 @@ public final class WhiteboardManager
this.addContextHelper(new DefaultServletContextHelperInfo());
// Start tracker
- addTracker(new FilterTracker(this.httpBundleContext, this));
- addTracker(new ListenersTracker(this.httpBundleContext, this));
addTracker(new PreprocessorTracker(this.httpBundleContext, this));
- addTracker(new ServletTracker(this.httpBundleContext, this));
- addTracker(new ResourceTracker(this.httpBundleContext, this));
+ addTracker(new JavaxPreprocessorTracker(httpBundleContext, this));
+ addTracker(new ListenersTracker(this.httpBundleContext, this));
+ addTracker(new JavaxListenersTracker(httpBundleContext, this));
addTracker(new ServletContextHelperTracker(this.httpBundleContext,
this));
addTracker(new JavaxServletContextHelperTracker(httpBundleContext,
this));
+ addTracker(new FilterTracker(this.httpBundleContext, this));
+ addTracker(new ServletTracker(this.httpBundleContext, this));
+ addTracker(new ResourceTracker(this.httpBundleContext, this));
addTracker(new JavaxFilterTracker(httpBundleContext, this));
addTracker(new JavaxServletTracker(httpBundleContext, this));
- addTracker(new JavaxListenersTracker(httpBundleContext, this));
- addTracker(new JavaxPreprocessorTracker(httpBundleContext, this));
}
/**
@@ -192,21 +192,18 @@ public final class WhiteboardManager
*/
public void stop()
{
+ this.webContext = null;
+ this.serviceRuntime.unregister();
for(final ServiceTracker<?, ?> t : this.trackers)
{
t.close();
}
this.trackers.clear();
-
- this.serviceRuntime.unregister();
-
this.preprocessorHandlers = Collections.emptyList();
this.contextMap.clear();
this.servicesMap.clear();
this.failureStateHandler.clear();
this.registry.reset();
-
- this.webContext = null;
}
public void sessionDestroyed(@NotNull final HttpSession session, final
Set<String> contextNames)
@@ -432,7 +429,7 @@ public final class WhiteboardManager
if ( first )
{
this.deactivate(handler);
- activateNext = true;
+ activateNext = this.webContext != null;
}
break;
}