Hi,
I'm quite new to iPOJO and I'm facing an issue with composites.
I've attached a metadata.xml which, I believe, is self-explanatory. When I
try to instantiate the declared "composite-external" (using Factory api), I
get a StackOverflowError, which is attached too.
The junit test is also attached.
This is probably my fault... any clue anyone?
Thanks in advance,
Thiago Souza
[ERROR] : The method bindFactory in the implementation class
org.apache.felix.ipojo.composite.instance.InstanceHandler throws an exception :
null
java.lang.StackOverflowError
at java.util.Collections$UnmodifiableMap.get(Collections.java:1282)
at org.apache.felix.framework.Felix.getProperty(Felix.java:2441)
at
org.apache.felix.framework.BundleContextImpl.getProperty(BundleContextImpl.java:92)
at
org.apache.felix.ipojo.IPojoContext.getProperty(IPojoContext.java:242)
at org.apache.felix.ipojo.util.Logger.getDefaultLevel(Logger.java:353)
at org.apache.felix.ipojo.util.Logger.<init>(Logger.java:133)
at
org.apache.felix.ipojo.InstanceManager.<init>(InstanceManager.java:169)
at org.apache.felix.ipojo.HandlerManager.<init>(HandlerManager.java:47)
at
org.apache.felix.ipojo.HandlerManagerFactory.createInstance(HandlerManagerFactory.java:136)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at org.apache.felix.ipojo.IPojoFactory.getHandler(IPojoFactory.java:801)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:297)
at org.apache.felix.ipojo.IPojoFactory.getHandler(IPojoFactory.java:801)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:297)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.felix.ipojo.util.Callback.call(Callback.java:260)
at
org.apache.felix.ipojo.handlers.dependency.DependencyCallback.callOnInstance(DependencyCallback.java:309)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.invokeCallback(Dependency.java:314)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:279)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:645)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.onCreation(DependencyHandler.java)
at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:132)
at
org.apache.felix.ipojo.composite.CompositeManager.start(CompositeManager.java:346)
at
org.apache.felix.ipojo.composite.CompositeFactory.createInstance(CompositeFactory.java:147)
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
at
org.apache.felix.ipojo.composite.FactoryProxy.createComponentInstance(FactoryProxy.java:87)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__createInstance(InstanceHandler.java:160)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.createInstance(InstanceHandler.java)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.__bindFactory(InstanceHandler.java:184)
at
org.apache.felix.ipojo.composite.instance.InstanceHandler.bindFactory(InstanceHandler.java)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<?xml version="1.0" encoding="UTF-8"?>
<ipojo xmlns="org.apache.felix.ipojo"
xmlns:c="org.apache.felix.ipojo.composite">
<component name="comp-c" classname="test.ComponentCImpl">
<provides specifications="test.ComponentC" />
</component>
<component name="comp-b" classname="test.ComponentBImpl">
<requires field="compC" specification="test.ComponentC" />
</component>
<component name="comp-a" classname="test.ComponentAImpl">
<requires field="compC" specification="test.ComponentC" />
</component>
<c:composite name="composite-internal">
<instance component="comp-b" />
<instance component="comp-a" />
</c:composite>
<c:composite name="composite-external">
<instance component="comp-c" />
<instance component="composite-internal" />
</c:composite>
</ipojo>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]