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