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/sling-org-apache-sling-resourcemerger.git


The following commit(s) were added to refs/heads/master by this push:
     new c19bd55  SLING-11978 : IllegalStateException on shutdown
c19bd55 is described below

commit c19bd557f3aaa7ead8b4ccf7c71b12b3288b7e3d
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Fri Jul 21 14:03:24 2023 +0200

    SLING-11978 : IllegalStateException on shutdown
---
 .../impl/MergedResourcePickerWhiteboard.java              | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourcePickerWhiteboard.java
 
b/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourcePickerWhiteboard.java
index 275ec9e..1a007ac 100644
--- 
a/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourcePickerWhiteboard.java
+++ 
b/src/main/java/org/apache/sling/resourcemerger/impl/MergedResourcePickerWhiteboard.java
@@ -20,12 +20,9 @@ package org.apache.sling.resourcemerger.impl;
 
 import java.util.Dictionary;
 import java.util.Hashtable;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.resourcemerger.spi.MergedResourcePicker;
 import org.apache.sling.resourcemerger.spi.MergedResourcePicker2;
@@ -59,7 +56,11 @@ public class MergedResourcePickerWhiteboard {
     @Deactivate
     protected void deactivate() {
         for (ServiceRegistration<ResourceProvider<Void>> resourceProvider : 
resourceProvidersPerPickerServiceId.values()) {
-            resourceProvider.unregister();
+            try {
+                resourceProvider.unregister();
+            } catch ( final IllegalStateException ise ) {
+                // we ignore this as the service might already be gone
+            }
         }
     }
 
@@ -107,7 +108,11 @@ public class MergedResourcePickerWhiteboard {
         if (key != null) {
             final ServiceRegistration<ResourceProvider<Void>> resourceProvider 
= resourceProvidersPerPickerServiceId.get(key);
             if (resourceProvider != null) {
-                resourceProvider.unregister();
+                try {
+                    resourceProvider.unregister();
+                } catch ( final IllegalStateException ise ) {
+                    // we ignore this as the service might already be gone
+                }
             }
         }
     }

Reply via email to