Karaf 4.2.11 with Scheduler feature installed

I am seeing the following error for Components implementing Runnable without 
Scheduler configuration and multiple ConfigurationPID. 

16:44:46.313 ERROR [pipe-start 195] Bundle org.apache.karaf.scheduler.core 
[182] EventDispatcher: Error during dispatch. (java.lang.ClassCastException: 
java.util.ArrayList cannot be cast to java.lang.String)
java.lang.ClassCastException: java.util.ArrayList cannot be cast to 
java.lang.String
        at 
org.apache.karaf.scheduler.core.WhiteboardHandler.getServiceIdentifier(WhiteboardHandler.java:87)
 ~[?:?]
        at 
org.apache.karaf.scheduler.core.WhiteboardHandler.register(WhiteboardHandler.java:101)
 ~[?:?]
        at 
org.apache.karaf.scheduler.core.WhiteboardHandler.access$100(WhiteboardHandler.java:36)
 ~[?:?]
        at 
org.apache.karaf.scheduler.core.WhiteboardHandler$1.addingService(WhiteboardHandler.java:65)
 ~[?:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
 ~[osgi.core-6.0.0.jar:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
 ~[osgi.core-6.0.0.jar:?]
        at 
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) 
~[osgi.core-6.0.0.jar:?]
        at 
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) 
~[osgi.core-6.0.0.jar:?]
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
 ~[osgi.core-6.0.0.jar:?]

@Component {configurationPid = {"foo","bar"})
public class Foo implements Runnable {
...
}

It appears the Scheduler assumes all runnable components may have valid 
Scheduler configuration in the @Component annotation or OSGi configuration 
files. In my case, the Scheduler is failing to set a Service Identifier when 
there is no scheduler.name configuration and the component's configurationPid 
is an array.

Is this a bug?



Paul Spencer

Reply via email to