avoid locks when registering services, upgrading gh action to java 11.0.6 and disabling some spifly logs implicitly
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 9d59ab7..6b24a10 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -31,7 +31,7 @@
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        java: [ '11.0.4' ]
+        java: [ '11.0.6' ]
     steps:
     - name: Clone
       uses: actions/checkout@v1
@@ -62,7 +62,7 @@
     - name: Set up JDK
       uses: actions/setup-java@v1
       with:
-        java-version: '11.0.4'
+        java-version: '11.0.6'
     - name: Build
       run: mvn install -DskipTests ossindex:audit
     - name: Remove Snapshots Before Caching
diff --git a/winegrower-core/src/main/java/org/apache/winegrower/Ripener.java b/winegrower-core/src/main/java/org/apache/winegrower/Ripener.java
index 708497f..fdbeb38 100644
--- a/winegrower-core/src/main/java/org/apache/winegrower/Ripener.java
+++ b/winegrower-core/src/main/java/org/apache/winegrower/Ripener.java
@@ -61,6 +61,7 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Predicate;
+import java.util.logging.Level;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
@@ -93,6 +94,14 @@
     void close();
 
     class Configuration {
+        static {
+            // not the most elegant way but logs are clearly misleading today
+            if ("ERROR".equals(System.setProperty("org.slf4j.simpleLogger.log.org.apache.aries.spifly",
+                    System.getProperty("org.slf4j.simpleLogger.log.org.apache.aries.spifly", "ERROR")))) {
+                java.util.logging.Logger.getLogger("org.apache.aries.spifly").setLevel(Level.SEVERE);
+            }
+        }
+
         private static final Collection<String> DEFAULT_EXCLUSIONS = asList(
                 "slf4j-",
                 "xbean-",
diff --git a/winegrower-core/src/main/java/org/apache/winegrower/service/OSGiServices.java b/winegrower-core/src/main/java/org/apache/winegrower/service/OSGiServices.java
index 3d1ad0b..e86c3b3 100644
--- a/winegrower-core/src/main/java/org/apache/winegrower/service/OSGiServices.java
+++ b/winegrower-core/src/main/java/org/apache/winegrower/service/OSGiServices.java
@@ -145,7 +145,7 @@
         serviceListeners.removeIf(d -> d.listener == listener);
     }
 
-    public synchronized ServiceRegistration<?> registerService(final String[] classes, final Object service,
+    public ServiceRegistration<?> registerService(final String[] classes, final Object service,
                                                                final Dictionary<String, ?> properties,
                                                                final Bundle from) {
         final Hashtable<String, Object> serviceProperties = new Hashtable<String, Object>() {
@@ -312,7 +312,11 @@
     }
 
     private List<ServiceListenerDefinition> getListeners(final ServiceRegistration<?> reg) {
-        return serviceListeners.stream()
+        final List<ServiceListenerDefinition> copy;
+        synchronized (serviceListeners) {
+            copy = new ArrayList<>(serviceListeners);
+        }
+        return copy.stream()
                 .filter(it -> it.filter == null || it.filter.match(reg.getReference()))
                 .collect(toList());
     }