We are using iPOJO 1.6.2 and I have a method as follows. Is this a valid
combination of options as I am getting a null value passed to it when a
ClockSubscriber is added. (At startup they were added fine, but when I
remove&add back a component it is always null)
@Requires)optional = true, id = "subscribers")
private ClockSubscriber[] subscribers;
@Bind(aggregate = true, id = "subscribers", optional = true)
public void subscriberBound(ClockSubscriber subscriber) {
try {
if(subscriber == null) throw new NullPointerException();
And this exception
java.lang.NullPointerException
at
com.edgeci.patch.ClockManager2.__subscriberBound(ClockManager2.java:153)
at
com.edgeci.patch.ClockManager2.subscriberBound(ClockManager2.java)
at sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:235)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.call(Depen
dencyCallback.java:239)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dep
endency.java:288)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.callBindMethod(Dep
endency.java:330)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onServiceArrival(D
ependency.java:445)
at
org.apache.felix.ipojo.util.DependencyModel.manageArrival(DependencyMode
l.java:392)
at
org.apache.felix.ipojo.util.DependencyModel.addedService(DependencyModel
.java:335)
at
org.apache.felix.ipojo.util.Tracker$Tracked.trackAdding(Tracker.java:725
)
at
org.apache.felix.ipojo.util.Tracker$Tracked.track(Tracker.java:686)
at
org.apache.felix.ipojo.util.Tracker$Tracked.serviceChanged(Tracker.java:
647)
at
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCal
lback(EventDispatcher.java:878)
at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(Eve
ntDispatcher.java:732)
at
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDi
spatcher.java:662)
at
org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3603)
at org.apache.felix.framework.Felix.access$000(Felix.java:40)
at
org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:624)
at
org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegist
ry.java:90)
at
org.apache.felix.framework.Felix.registerService(Felix.java:2716)
at
org.apache.felix.framework.BundleContextImpl.registerService(BundleConte
xtImpl.java:252)
at
org.apache.felix.ipojo.IPojoContext.registerService(IPojoContext.java:33
8)
at
org.apache.felix.ipojo.handlers.providedservice.ProvidedService.register
Service(ProvidedService.java:339)
at
org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler._
_stateChanged(ProvidedServiceHandler.java:489)
at
org.apache.felix.ipojo.handlers.providedservice.ProvidedServiceHandler.s
tateChanged(ProvidedServiceHandler.java)
at
org.apache.felix.ipojo.InstanceManager.setState(InstanceManager.java:441
)
at
org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:322)
at
org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.
java:155)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory
.java:301)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory
.java:238)
at
org.apache.felix.ipojo.IPojoFactory.updated(IPojoFactory.java:625)
at
org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(Co
nfigurationManager.java:1460)
at
org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:88)