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;
                         }

Reply via email to