Hi All,
I'm having a problem when trying to name an instance of a composite when I
instantiate it inside another composite. My metadata is below:
<ipojo>
<composite name="comanche.requestHandler">
<instance
component="org.apache.comanche.requestDispatcher.RequestDispatcher"
name="RequestDispatcher"/>
<instance component="FileRH"/>
<instance component="ErrorRH"/>
<provides action="export"
specification="org.apache.comanche.services.RequestHandler"
filter="(instance.name=RequestDispatcher)" />
</composite>
<composite name="comanche.backend">
<instance component="comanche.requestHandler" name="mytest123" />
</composite>
<instance component="comanche.backend" name="teste" />
</ipojo>
You can see the instance name in the bold part. When I compile my bundle
without that bold part, the higher level composite instance is valid, but
when I use the "mytest123" name, the instance became invalid and I see a
stack trace in my console that begins with:
[ERROR] FileRH : The configuration is not acceptable : Name already used
[ERROR] comanche.requestHandler : A factory is available for the
configuration but the configuration is not acceptable
org.apache.felix.ipojo.UnacceptableConfiguration: FileRH : Name already used
: mytest123
at
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:290)
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.GeneratedMethodAccessor2.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:315)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:280)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:643)
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:355)
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.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.GeneratedMethodAccessor2.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:315)
at
org.apache.felix.ipojo.handlers.dependency.Dependency.onObjectCreation(Dependency.java:280)
at
org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__onCreation(DependencyHandler.java:643)
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:355)
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.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
at
org.apache.felix.ipojo.InstanceCreator$ManagedInstance.create(InstanceCreator.java:343)
at
org.apache.felix.ipojo.InstanceCreator.addInstance(InstanceCreator.java:89)
at org.apache.felix.ipojo.Extender.parse(Extender.java:306)
at org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:237)
at org.apache.felix.ipojo.Extender.access$600(Extender.java:52)
at org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:769)
at java.lang.Thread.run(Thread.java:680)
Apparently it is mixing the instances with other names... pretty weird...
:-/
I'm using the following bundles, all downloaded and compiled today:
START LEVEL 1
ID State Level Name
[ 0] [Active ] [ 0] System Bundle (4.0.2)
[ 1] [Active ] [ 1] Apache Felix Bundle Repository (1.6.6)
[ 2] [Active ] [ 1] Apache Felix iPOJO (1.9.0.SNAPSHOT)
[ 3] [Active ] [ 1] Apache Felix iPOJO API (1.7.0.SNAPSHOT)
[ 4] [Active ] [ 1] Apache Felix iPOJO Arch Command
(1.7.0.SNAPSHOT)
[ 5] [Active ] [ 1] Apache Felix iPOJO Composite (1.9.0.SNAPSHOT)
[ 6] [Active ] [ 1] Apache Felix Shell Service (1.4.2)
[ 7] [Active ] [ 1] Apache Felix Shell TUI (1.4.1)
Regards,
Fabio
P.S.: When I start this composite bundle, I receive a warning about the
instance "name" attribute that was deprecated. It tells me to use
"instance.name". However, the "instance.name" seems not to be working,
because, when I use it, the instance do not receive the name I desire. So I
kept using the "name", who is working, even knowing it was deprecated.
--
View this message in context:
http://old.nabble.com/Cannot-name-an-instance-of-a-composite-inside-another-composite-using-1.9.0-snapshot-tp33653319p33653319.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]