Author: cziegeler
Date: Mon May 15 12:04:13 2017
New Revision: 1795171

URL: http://svn.apache.org/viewvc?rev=1795171&view=rev
Log:
SLING-6856 : NPE in scheduler whiteboard handler

Modified:
    
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/WhiteboardHandler.java

Modified: 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/WhiteboardHandler.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/WhiteboardHandler.java?rev=1795171&r1=1795170&r2=1795171&view=diff
==============================================================================
--- 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/WhiteboardHandler.java
 (original)
+++ 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/WhiteboardHandler.java
 Mon May 15 12:04:13 2017
@@ -48,7 +48,7 @@ public class WhiteboardHandler {
     /** Default logger. */
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
-    @Reference
+    @Reference(name = "first") // by using this name this reference is set 
first (alphabetic order -> order in XML)
     private QuartzScheduler scheduler;
 
     private final Map<Long, String> idToNameMap = new ConcurrentHashMap<>();
@@ -200,7 +200,8 @@ public class WhiteboardHandler {
      * @param reference The service reference.
      */
     void unregister(final ServiceReference<?> reference) {
-        final String name = idToNameMap.remove(getLongProperty(reference, 
Constants.SERVICE_ID));
+        final Long key = getLongProperty(reference, Constants.SERVICE_ID);
+        final String name = idToNameMap.remove(key);
         if ( name != null ) {
             this.scheduler.unschedule(reference.getBundle().getBundleId(), 
name);
         }


Reply via email to