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)

Reply via email to