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]

Reply via email to