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 2ec91d167a FELIX-6621 : Bundle org.apache.felix.webconsole [72] 
EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: 
Invalid BundleContext.)
2ec91d167a is described below

commit 2ec91d167adc565d0c64d8d695b444aaaed19984
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Jul 27 06:57:37 2023 +0200

    FELIX-6621 : Bundle org.apache.felix.webconsole [72] EventDispatcher: Error 
during dispatch. (java.lang.IllegalStateException: Invalid BundleContext.)
---
 .../webconsole/internal/servlet/OsgiManager.java    | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git 
a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
 
b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
index 7de1c0f4ce..ff6eea118a 100644
--- 
a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
+++ 
b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/OsgiManager.java
@@ -1284,12 +1284,11 @@ public class OsgiManager extends GenericServlet
 
         @Override
         public WebConsoleSecurityProvider 
addingService(ServiceReference<WebConsoleSecurityProvider> reference) {
-            WebConsoleSecurityProvider provider = null;
-            Object nameObj = 
reference.getProperty(SECURITY_PROVIDER_PROPERTY_NAME);
-            if (nameObj instanceof String) {
-                final String name = (String) nameObj;
-                provider = bundleContext.getService(reference);
-                if (provider != null) {
+            final WebConsoleSecurityProvider provider = 
bundleContext.getService(reference);
+            if (provider != null) {
+                final Object nameObj = 
reference.getProperty(SECURITY_PROVIDER_PROPERTY_NAME);
+                if (nameObj instanceof String) {
+                    final String name = (String) nameObj;
                     final Long id = (Long) 
reference.getProperty(Constants.SERVICE_ID);
                     registeredProviders.put(id, name);
                     registeredSecurityProviders.add(name);
@@ -1311,11 +1310,11 @@ public class OsgiManager extends GenericServlet
             if (name != null) {
                 registeredSecurityProviders.remove(name);
                 updateRegistrationState();
-                try {
-                    bundleContext.ungetService(reference);
-                } catch (IllegalStateException ise) {
-                    // ignore on shutdown
-                }
+            }
+            try {
+                bundleContext.ungetService(reference);
+            } catch (IllegalStateException ise) {
+                // ignore on shutdown
             }
         }
 

Reply via email to