You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@karaf.apache.org by Andy Schmidt <An...@kisters.de> on 2014/12/15 16:15:38 UTC
Unable to convert value org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Hey,
we are trying to register a couple of blueprint services using Karaf
3.0.2.
Two of those services (lets call them "service A" and "service B") are
located in one and the same bundle.
Service A has a reference to service B.
We are getting the following exception:
org.osgi.service.blueprint.container.ComponentDefinitionException: Error
setting property: PropertyDescriptor <name: containerManager, getter:
null, setter: [class
de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
de.kisters.kimatman.domain.api.session.container.IContainerManager)] at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at
java.util.concurrent.FutureTask.run(FutureTask.java:166) at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)
at
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
at
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
at
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) at
org.apache.felix.framework.Felix.startBundle(Felix.java:2092) at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)
at
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)
Caused by: java.lang.Exception: Unable to convert value
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy@20766905
to type de.kisters.kimatman.domain.api.session.container.IContainerManager
at
org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)
at
org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
at
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
at
org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
at
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
... 32 more
Our blueprint files look like:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
http://aries.apache.org/xmlns/jpa/v1.1.0"
xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint
http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
http://aries.apache.org/xmlns/transactions/v1.0.0
http://aries.apache.org/schemas/transaction/transactionv10.xsd
http://aries.apache.org/xmlns/jpa/v1.1.0
http://aries.apache.org/schemas/jpa/jpa_110.xsd">
<service id="containerManagerId"
interface="de.kisters.project.domain.api.session.container.IContainerManager">
<bean
class="de.kisters.project.domain.impl.session.container.ContainerManager"
/>
</service>
</blueprint>
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
http://aries.apache.org/xmlns/jpa/v1.1.0"
xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint
http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
http://aries.apache.org/xmlns/transactions/v1.0.0
http://aries.apache.org/schemas/transaction/transactionv10.xsd
http://aries.apache.org/xmlns/jpa/v1.1.0
http://aries.apache.org/schemas/jpa/jpa_110.xsd">
<bean
class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
init-method="activate" destroy-method="deactivate">
<property name="containerManager" ref="containerManagerId"
/>
</bean>
</blueprint>
Do you have any hints how to solve the problem?
Best regards,
Andy & Tim
--------------------------------------------------------------------------------------------------------------------------------------------
Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail: Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
--------------------------------------------------------------------------------------------------------------------------------------------
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Re: Unable to convert value org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Posted by Andy Schmidt <An...@kisters.de>.
Hi,
this helped me a lot. Now it works.
I was referring to the service ID and not to the bean ID the whole time.
Thank you both,
and have a nice week.
Best regards
Tim & Andy
--------------------------------------------------------------------------------------------------------------------------------------------
Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail: Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
--------------------------------------------------------------------------------------------------------------------------------------------
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
From: Freeman Fang <fr...@gmail.com>
To: dev@karaf.apache.org,
Date: 16.12.2014 11:28
Subject: Re: Unable to convert value
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Hi,
I mean,
change your first blueprint like
< service id="containerManagerId" ref="containerManager"
interface="de.kisters.project.domain.api.session.container.IContainerManager">
</service>
<bean id="containerManager"
class="de.kisters.project.domain.impl.session.container.ContainerManager"
/>
and in the second blueprint file refer the bean id but not the service id.
something like
<bean
class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
init-method="activate" destroy-method="deactivate">
<property name="containerManager" ref="containerManager"
/>
</bean>
this should be good.
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
On 2014-12-16, at 下午4:48, Andy Schmidt wrote:
> Hi Freeman Fang,
>
> thank you for your response.
>
> How would you do it? What do you mean with "refer to the bean directly"?
> It is a service and still has to be a service because another bundle
also
> uses it.
> So how do I get the one service instance that is registered in the
> blueprint container?
>
> To the "chicken-egg" problem:
>
> I saw in the IBM tutorial that it is possible to use the blueprint "ref"
> property to refer to a blueprint bean of the same bundle.
>
http://www-01.ibm.com/support/knowledgecenter/SSCKBL_8.5.5/com.ibm.websphere.osgi.nd.doc/ae/ca_blueprint_references.html?lang=en
>
> If I understood it right, this is possible by only using the
ref-property
> with the desired bean ID and NOT including the reference tag:
>
> <reference id="containerManagerRef"
>
>
interface="de.kisters.project.domain.api.session.container.IContainerManager"
> availability="mandatory" />
>
> Thank you and regards
> Tim
>
>
>
>
--------------------------------------------------------------------------------------------------------------------------------------------
> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns
Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail:
Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
>
--------------------------------------------------------------------------------------------------------------------------------------------
> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
Weitergabe dieser Mail ist nicht gestattet.
> This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorised copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.
>
> From: Freeman Fang <fr...@gmail.com>
> To: dev@karaf.apache.org,
> Date: 16.12.2014 07:09
> Subject: Re: Unable to convert value
>
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
>
>
>
> Hi,
>
> If they are in the same bundle context, why not refer the
> de.kisters.project.domain.impl.session.container.ContainerManager bean
> directly but not the service.
>
> Your way run into the chicken-egg problem, that said, your bundle
depend
> on a service provided by the bundle itself.
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
>
>
>
> On 2014-12-15, at 下午11:15, Andy Schmidt wrote:
>
>> Hey,
>>
>> we are trying to register a couple of blueprint services using Karaf
>> 3.0.2.
>>
>> Two of those services (lets call them "service A" and "service B") are
>> located in one and the same bundle.
>> Service A has a reference to service B.
>>
>> We are getting the following exception:
>>
>> org.osgi.service.blueprint.container.ComponentDefinitionException:
Error
>
>> setting property: PropertyDescriptor <name: containerManager, getter:
>> null, setter: [class
>>
>
de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
>
>> de.kisters.kimatman.domain.api.session.container.IContainerManager)] at
>>
>
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
>
>> at
>>
>
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
>
>> at
>>
>
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
>
>> at
>>
>
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
>
>> at
>>
>
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
>
>> at
>>
>
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
>
>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at
>
>> java.util.concurrent.FutureTask.run(FutureTask.java:166) at
>>
>
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)
>
>> at
>>
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
>
>> at
>>
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
>
>> at
>>
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
>
>> at
>>
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
>
>> at
>>
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
>
>> at
>>
>
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
>
>> at
>>
>
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
>
>> at
>>
>
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
>
>> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) at
>> org.apache.felix.framework.Felix.startBundle(Felix.java:2092) at
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at
>>
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)
>
>> at
>>
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)
>
>> at
>>
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)
>
>> at
>>
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)
>
>> at
>>
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)
>
>>
>>
>> Caused by: java.lang.Exception: Unable to convert value
>>
>
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy@20766905
>
>> to type
> de.kisters.kimatman.domain.api.session.container.IContainerManager
>> at
>>
>
org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)
>
>> at
>>
>
org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
>
>> at
>>
>
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
>
>> at
>>
>
org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
>
>> at
>>
>
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
>
>> at
>>
>
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
>
>> ... 32 more
>>
>> Our blueprint files look like:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
>> http://aries.apache.org/xmlns/jpa/v1.1.0"
>> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
>> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
>> http://aries.apache.org/xmlns/transactions/v1.0.0
>
>> http://aries.apache.org/schemas/transaction/transactionv10.xsd
>> http://aries.apache.org/xmlns/jpa/v1.1.0
>> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>>
>> <service id="containerManagerId"
>>
>>
>
interface="de.kisters.project.domain.api.session.container.IContainerManager">
>> <bean
>>
>
class="de.kisters.project.domain.impl.session.container.ContainerManager"
>> />
>> </service>
>>
>>
>> </blueprint>
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
>> http://aries.apache.org/xmlns/jpa/v1.1.0"
>> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
>> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
>> http://aries.apache.org/xmlns/transactions/v1.0.0
>
>> http://aries.apache.org/schemas/transaction/transactionv10.xsd
>> http://aries.apache.org/xmlns/jpa/v1.1.0
>> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>> <bean
>>
>>
>
class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
>> init-method="activate" destroy-method="deactivate">
>> <property name="containerManager"
> ref="containerManagerId"
>> />
>> </bean>
>>
>> </blueprint>
>>
>> Do you have any hints how to solve the problem?
>>
>> Best regards,
>>
>> Andy & Tim
>>
>
--------------------------------------------------------------------------------------------------------------------------------------------
>> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
>> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns
> Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
>> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail:
> Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
>>
>
--------------------------------------------------------------------------------------------------------------------------------------------
>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
E-Mail
> irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
> vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
> Weitergabe dieser Mail ist nicht gestattet.
>> This e-mail may contain confidential and/or privileged information. If
> you are not the intended recipient (or have received this e-mail in
error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorised copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.
>
>
>
Re: Unable to convert value org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Posted by Freeman Fang <fr...@gmail.com>.
Hi,
I mean,
change your first blueprint like
< service id="containerManagerId" ref="containerManager"
interface="de.kisters.project.domain.api.session.container.IContainerManager">
</service>
<bean id="containerManager"
class="de.kisters.project.domain.impl.session.container.ContainerManager"
/>
and in the second blueprint file refer the bean id but not the service id.
something like
<bean
class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
init-method="activate" destroy-method="deactivate">
<property name="containerManager" ref="containerManager"
/>
</bean>
this should be good.
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
On 2014-12-16, at 下午4:48, Andy Schmidt wrote:
> Hi Freeman Fang,
>
> thank you for your response.
>
> How would you do it? What do you mean with "refer to the bean directly"?
> It is a service and still has to be a service because another bundle also
> uses it.
> So how do I get the one service instance that is registered in the
> blueprint container?
>
> To the "chicken-egg" problem:
>
> I saw in the IBM tutorial that it is possible to use the blueprint "ref"
> property to refer to a blueprint bean of the same bundle.
> http://www-01.ibm.com/support/knowledgecenter/SSCKBL_8.5.5/com.ibm.websphere.osgi.nd.doc/ae/ca_blueprint_references.html?lang=en
>
> If I understood it right, this is possible by only using the ref-property
> with the desired bean ID and NOT including the reference tag:
>
> <reference id="containerManagerRef"
>
> interface="de.kisters.project.domain.api.session.container.IContainerManager"
> availability="mandatory" />
>
> Thank you and regards
> Tim
>
>
>
> --------------------------------------------------------------------------------------------------------------------------------------------
> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail: Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
> --------------------------------------------------------------------------------------------------------------------------------------------
> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
> This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
>
> From: Freeman Fang <fr...@gmail.com>
> To: dev@karaf.apache.org,
> Date: 16.12.2014 07:09
> Subject: Re: Unable to convert value
> org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
>
>
>
> Hi,
>
> If they are in the same bundle context, why not refer the
> de.kisters.project.domain.impl.session.container.ContainerManager bean
> directly but not the service.
>
> Your way run into the chicken-egg problem, that said, your bundle depend
> on a service provided by the bundle itself.
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
>
>
>
> On 2014-12-15, at 下午11:15, Andy Schmidt wrote:
>
>> Hey,
>>
>> we are trying to register a couple of blueprint services using Karaf
>> 3.0.2.
>>
>> Two of those services (lets call them "service A" and "service B") are
>> located in one and the same bundle.
>> Service A has a reference to service B.
>>
>> We are getting the following exception:
>>
>> org.osgi.service.blueprint.container.ComponentDefinitionException: Error
>
>> setting property: PropertyDescriptor <name: containerManager, getter:
>> null, setter: [class
>>
> de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
>
>> de.kisters.kimatman.domain.api.session.container.IContainerManager)] at
>>
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
>
>> at
>>
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
>
>> at
>>
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
>
>> at
>>
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
>
>> at
>>
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
>
>> at
>>
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
>
>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at
>
>> java.util.concurrent.FutureTask.run(FutureTask.java:166) at
>>
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)
>
>> at
>>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
>
>> at
>>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
>
>> at
>>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
>
>> at
>>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
>
>> at
>>
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
>
>> at
>>
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
>
>> at
>>
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
>
>> at
>>
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
>
>> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) at
>> org.apache.felix.framework.Felix.startBundle(Felix.java:2092) at
>> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at
>>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)
>
>> at
>>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)
>
>> at
>>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)
>
>> at
>>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)
>
>> at
>>
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)
>
>>
>>
>> Caused by: java.lang.Exception: Unable to convert value
>>
> org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy@20766905
>
>> to type
> de.kisters.kimatman.domain.api.session.container.IContainerManager
>> at
>>
> org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)
>
>> at
>>
> org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
>
>> at
>>
> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
>
>> at
>>
> org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
>
>> at
>>
> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
>
>> at
>>
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
>
>> ... 32 more
>>
>> Our blueprint files look like:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
>> http://aries.apache.org/xmlns/jpa/v1.1.0"
>> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
>> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
>> http://aries.apache.org/xmlns/transactions/v1.0.0
>
>> http://aries.apache.org/schemas/transaction/transactionv10.xsd
>> http://aries.apache.org/xmlns/jpa/v1.1.0
>> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>>
>> <service id="containerManagerId"
>>
>>
> interface="de.kisters.project.domain.api.session.container.IContainerManager">
>> <bean
>>
> class="de.kisters.project.domain.impl.session.container.ContainerManager"
>> />
>> </service>
>>
>>
>> </blueprint>
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
>> http://aries.apache.org/xmlns/jpa/v1.1.0"
>> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
>> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
>> http://aries.apache.org/xmlns/transactions/v1.0.0
>
>> http://aries.apache.org/schemas/transaction/transactionv10.xsd
>> http://aries.apache.org/xmlns/jpa/v1.1.0
>> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>> <bean
>>
>>
> class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
>> init-method="activate" destroy-method="deactivate">
>> <property name="containerManager"
> ref="containerManagerId"
>> />
>> </bean>
>>
>> </blueprint>
>>
>> Do you have any hints how to solve the problem?
>>
>> Best regards,
>>
>> Andy & Tim
>>
> --------------------------------------------------------------------------------------------------------------------------------------------
>> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
>> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns
> Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
>> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail:
> Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
>>
> --------------------------------------------------------------------------------------------------------------------------------------------
>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
> irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
> vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
> Weitergabe dieser Mail ist nicht gestattet.
>> This e-mail may contain confidential and/or privileged information. If
> you are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorised copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.
>
>
>
Re: Unable to convert value org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Posted by Andy Schmidt <An...@kisters.de>.
Hi Freeman Fang,
thank you for your response.
How would you do it? What do you mean with "refer to the bean directly"?
It is a service and still has to be a service because another bundle also
uses it.
So how do I get the one service instance that is registered in the
blueprint container?
To the "chicken-egg" problem:
I saw in the IBM tutorial that it is possible to use the blueprint "ref"
property to refer to a blueprint bean of the same bundle.
http://www-01.ibm.com/support/knowledgecenter/SSCKBL_8.5.5/com.ibm.websphere.osgi.nd.doc/ae/ca_blueprint_references.html?lang=en
If I understood it right, this is possible by only using the ref-property
with the desired bean ID and NOT including the reference tag:
<reference id="containerManagerRef"
interface="de.kisters.project.domain.api.session.container.IContainerManager"
availability="mandatory" />
Thank you and regards
Tim
--------------------------------------------------------------------------------------------------------------------------------------------
Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail: Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
--------------------------------------------------------------------------------------------------------------------------------------------
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
From: Freeman Fang <fr...@gmail.com>
To: dev@karaf.apache.org,
Date: 16.12.2014 07:09
Subject: Re: Unable to convert value
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Hi,
If they are in the same bundle context, why not refer the
de.kisters.project.domain.impl.session.container.ContainerManager bean
directly but not the service.
Your way run into the chicken-egg problem, that said, your bundle depend
on a service provided by the bundle itself.
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
On 2014-12-15, at 下午11:15, Andy Schmidt wrote:
> Hey,
>
> we are trying to register a couple of blueprint services using Karaf
> 3.0.2.
>
> Two of those services (lets call them "service A" and "service B") are
> located in one and the same bundle.
> Service A has a reference to service B.
>
> We are getting the following exception:
>
> org.osgi.service.blueprint.container.ComponentDefinitionException: Error
> setting property: PropertyDescriptor <name: containerManager, getter:
> null, setter: [class
>
de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
> de.kisters.kimatman.domain.api.session.container.IContainerManager)] at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
> at
>
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at
> java.util.concurrent.FutureTask.run(FutureTask.java:166) at
>
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
> at
>
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
> at
>
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
> at
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
> at
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
> at
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
> at
>
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
> at
>
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)
> at
>
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
> at
>
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
> at
>
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
> at
>
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) at
> org.apache.felix.framework.Felix.startBundle(Felix.java:2092) at
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)
>
>
> Caused by: java.lang.Exception: Unable to convert value
>
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy@20766905
> to type
de.kisters.kimatman.domain.api.session.container.IContainerManager
> at
>
org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)
> at
>
org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
> at
>
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
> at
>
org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
> at
>
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
> ... 32 more
>
> Our blueprint files look like:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
> http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>
> <service id="containerManagerId"
>
>
interface="de.kisters.project.domain.api.session.container.IContainerManager">
> <bean
>
class="de.kisters.project.domain.impl.session.container.ContainerManager"
> />
> </service>
>
>
> </blueprint>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
> http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
> <bean
>
>
class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
> init-method="activate" destroy-method="deactivate">
> <property name="containerManager"
ref="containerManagerId"
> />
> </bean>
>
> </blueprint>
>
> Do you have any hints how to solve the problem?
>
> Best regards,
>
> Andy & Tim
>
--------------------------------------------------------------------------------------------------------------------------------------------
> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns
Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail:
Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
>
--------------------------------------------------------------------------------------------------------------------------------------------
> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
Weitergabe dieser Mail ist nicht gestattet.
> This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorised copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.
Re: Unable to convert value org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Posted by Freeman Fang <fr...@gmail.com>.
Hi,
If they are in the same bundle context, why not refer the de.kisters.project.domain.impl.session.container.ContainerManager bean directly but not the service.
Your way run into the chicken-egg problem, that said, your bundle depend on a service provided by the bundle itself.
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
On 2014-12-15, at 下午11:15, Andy Schmidt wrote:
> Hey,
>
> we are trying to register a couple of blueprint services using Karaf
> 3.0.2.
>
> Two of those services (lets call them "service A" and "service B") are
> located in one and the same bundle.
> Service A has a reference to service B.
>
> We are getting the following exception:
>
> org.osgi.service.blueprint.container.ComponentDefinitionException: Error
> setting property: PropertyDescriptor <name: containerManager, getter:
> null, setter: [class
> de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
> de.kisters.kimatman.domain.api.session.container.IContainerManager)] at
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
> at
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at
> java.util.concurrent.FutureTask.run(FutureTask.java:166) at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
> at
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
> at
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) at
> org.apache.felix.framework.Felix.startBundle(Felix.java:2092) at
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)
>
>
> Caused by: java.lang.Exception: Unable to convert value
> org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy@20766905
> to type de.kisters.kimatman.domain.api.session.container.IContainerManager
> at
> org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)
> at
> org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
> at
> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
> at
> org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
> at
> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
> ... 32 more
>
> Our blueprint files look like:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
> http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>
> <service id="containerManagerId"
>
> interface="de.kisters.project.domain.api.session.container.IContainerManager">
> <bean
> class="de.kisters.project.domain.impl.session.container.ContainerManager"
> />
> </service>
>
>
> </blueprint>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
> http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
> <bean
>
> class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
> init-method="activate" destroy-method="deactivate">
> <property name="containerManager" ref="containerManagerId"
> />
> </bean>
>
> </blueprint>
>
> Do you have any hints how to solve the problem?
>
> Best regards,
>
> Andy & Tim
> --------------------------------------------------------------------------------------------------------------------------------------------
> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail: Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
> --------------------------------------------------------------------------------------------------------------------------------------------
> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
> This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Re: Unable to convert value org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Posted by Andy Schmidt <An...@kisters.de>.
Hi Jean-Baptiste,
thank you for your response.
I used to also have the getter method but it didn't help. It just changes
the exception message to:
"org.osgi.service.blueprint.container.ComponentDefinitionException: Error
setting property: PropertyDescriptor <name: containerManager, getter:
class
de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.getContainerManager(),
setter: [class
de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
de.kisters.kimatman.domain.api.session.container.IContainerManager)]"
Do you have any other ideas why this problem appears?
The setter method looks like a normal setter:
public void setContainerManager(final IContainerManager manager) {
// ...
}
Thank you for your response.
Tim
--------------------------------------------------------------------------------------------------------------------------------------------
Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail: Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
--------------------------------------------------------------------------------------------------------------------------------------------
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
From: Jean-Baptiste Onofré <jb...@nanthrax.net>
To: dev@karaf.apache.org,
Date: 15.12.2014 17:28
Subject: Re: Unable to convert value
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Hi,
in your
de.kisters.project.domain.impl.session.repository.RepositoryFactory, do
you have the setter AND the getter for containerManager ?
Regards
JB
On 12/15/2014 04:15 PM, Andy Schmidt wrote:
> Hey,
>
> we are trying to register a couple of blueprint services using Karaf
> 3.0.2.
>
> Two of those services (lets call them "service A" and "service B") are
> located in one and the same bundle.
> Service A has a reference to service B.
>
> We are getting the following exception:
>
> org.osgi.service.blueprint.container.ComponentDefinitionException: Error
> setting property: PropertyDescriptor <name: containerManager, getter:
> null, setter: [class
>
de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
> de.kisters.kimatman.domain.api.session.container.IContainerManager)] at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
> at
>
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at
> java.util.concurrent.FutureTask.run(FutureTask.java:166) at
>
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
> at
>
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
> at
>
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
> at
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
> at
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
> at
>
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
> at
>
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
> at
>
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)
> at
>
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
> at
>
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
> at
>
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
> at
>
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
> at
>
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) at
> org.apache.felix.framework.Felix.startBundle(Felix.java:2092) at
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)
> at
>
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)
>
>
> Caused by: java.lang.Exception: Unable to convert value
>
org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy@20766905
> to type
de.kisters.kimatman.domain.api.session.container.IContainerManager
> at
>
org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)
> at
>
org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
> at
>
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
> at
>
org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
> at
>
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
> at
>
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
> ... 32 more
>
> Our blueprint files look like:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
>
http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>
> <service id="containerManagerId"
>
>
interface="de.kisters.project.domain.api.session.container.IContainerManager">
> <bean
>
class="de.kisters.project.domain.impl.session.container.ContainerManager"
> />
> </service>
>
>
> </blueprint>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
>
http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
> <bean
>
>
class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
> init-method="activate" destroy-method="deactivate">
> <property name="containerManager"
ref="containerManagerId"
> />
> </bean>
>
> </blueprint>
>
> Do you have any hints how to solve the problem?
>
> Best regards,
>
> Andy & Tim
>
--------------------------------------------------------------------------------------------------------------------------------------------
> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns
Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail:
Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
>
--------------------------------------------------------------------------------------------------------------------------------------------
> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail
irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und
vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte
Weitergabe dieser Mail ist nicht gestattet.
> This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorised copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Unable to convert value org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,
in your
de.kisters.project.domain.impl.session.repository.RepositoryFactory, do
you have the setter AND the getter for containerManager ?
Regards
JB
On 12/15/2014 04:15 PM, Andy Schmidt wrote:
> Hey,
>
> we are trying to register a couple of blueprint services using Karaf
> 3.0.2.
>
> Two of those services (lets call them "service A" and "service B") are
> located in one and the same bundle.
> Service A has a reference to service B.
>
> We are getting the following exception:
>
> org.osgi.service.blueprint.container.ComponentDefinitionException: Error
> setting property: PropertyDescriptor <name: containerManager, getter:
> null, setter: [class
> de.kisters.kimatman.domain.impl.session.repository.RepositoryFactory.setContainerManager(interface
> de.kisters.kimatman.domain.api.session.container.IContainerManager)] at
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
> at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
> at
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at
> java.util.concurrent.FutureTask.run(FutureTask.java:166) at
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
> at
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)
> at
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
> at
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
> at
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
> at
> org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) at
> org.apache.felix.framework.Felix.startBundle(Felix.java:2092) at
> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358)
> at
> org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)
>
>
> Caused by: java.lang.Exception: Unable to convert value
> org.apache.aries.blueprint.container.ServiceRecipe$ServiceRegistrationProxy@20766905
> to type de.kisters.kimatman.domain.api.session.container.IContainerManager
> at
> org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)
> at
> org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
> at
> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
> at
> org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
> at
> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
> at
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
> ... 32 more
>
> Our blueprint files look like:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
> http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
>
> <service id="containerManagerId"
>
> interface="de.kisters.project.domain.api.session.container.IContainerManager">
> <bean
> class="de.kisters.project.domain.impl.session.container.ContainerManager"
> />
> </service>
>
>
> </blueprint>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="
> http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0"
> xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint-2.8.0.xsd
> http://aries.apache.org/xmlns/transactions/v1.0.0
> http://aries.apache.org/schemas/transaction/transactionv10.xsd
> http://aries.apache.org/xmlns/jpa/v1.1.0
> http://aries.apache.org/schemas/jpa/jpa_110.xsd">
> <bean
>
> class="de.kisters.project.domain.impl.session.repository.RepositoryFactory"
> init-method="activate" destroy-method="deactivate">
> <property name="containerManager" ref="containerManagerId"
> />
> </bean>
>
> </blueprint>
>
> Do you have any hints how to solve the problem?
>
> Best regards,
>
> Andy & Tim
> --------------------------------------------------------------------------------------------------------------------------------------------
> Andy Schmidt - KISTERS AG - Pascalstraße 8+10 - 52076 Aachen - Germany
> Handelsregister Aachen, HRB-Nr. 7838 | Vorstand: Klaus Kisters, Hanns Kisters | Aufsichtsratsvorsitzender: Dr. Thomas Klevers
> Phone: +49 2408 9385 -449 | Fax: +49 2408 9385 -555 | E-Mail: Andy.Schmidt@kisters.de | WWW: http://www.kisters.de
> --------------------------------------------------------------------------------------------------------------------------------------------
> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
> This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com