[
https://issues.apache.org/jira/browse/SLING-7009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16089731#comment-16089731
]
Carsten Ziegeler commented on SLING-7009:
-----------------------------------------
[~olli] Right, the javadoc explicitely states it must be string or string array
> NPE in ResourceChangeListenerInfo when resource.change.types is not String or
> String array
> ------------------------------------------------------------------------------------------
>
> Key: SLING-7009
> URL: https://issues.apache.org/jira/browse/SLING-7009
> Project: Sling
> Issue Type: Bug
> Components: ResourceResolver
> Affects Versions: Resource Resolver 1.5.26
> Reporter: Oliver Lietz
>
> When registering a {{ResourceChangeListener}} with
> {{ResourceChangeListener.CHANGES}} and e.g. {{ChangeType.ADDED}} (enum),
> ResourceChangeListenerInfo fails with NPE:
> {noformat}
> 2017-07-13T23:55:46,811 | ERROR | RMI TCP Connection(3)-127.0.0.1 | Felix
> | - - | Bundle org.apache.sling.resourceresolver
> [110] EventDispatcher: Error during dispatch. (java.lang.NullPointerException)
> java.lang.NullPointerException: null
> at
> org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerInfo.<init>(ResourceChangeListenerInfo.java:120)
> ~[?:?]
> at
> org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerWhiteboard$1.addingService(ResourceChangeListenerWhiteboard.java:82)
> ~[?:?]
> at
> org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerWhiteboard$1.addingService(ResourceChangeListenerWhiteboard.java:64)
> ~[?:?]
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
> ~[?:?]
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
> ~[?:?]
> at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> ~[?:?]
> at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
> at
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
> ~[?:?]
> at
> org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
> ~[?:?]
> at
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
> ~[?:?]
> at
> org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
> ~[?:?]
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4579)
> ~[?:?]
> at org.apache.felix.framework.Felix.registerService(Felix.java:3571)
> ~[?:?]
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
> ~[?:?]
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:355)
> ~[?:?]
> {noformat}
> This should be more robust (try/catch including for-loop).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)