The problem may arise when for some reason Bundle A is restarted. Starting or 
restarting Bundle B has no impact on Bundle A lifecycle.

Do you have a simple scenario to reproduce this issue? Does it appear when you 
start your OSGi container (Karaf?)?

JP

[@@ OPEN @@]

De : Adrián Roselló Rey [mailto:[email protected]]
Envoyé : mercredi 16 avril 2014 10:48
À : user
Objet : Re: ServiceUnavailableException

Hi Jean-Philippe
Thanks for your quick answer. What you say makes sense, but I'm not sure why 
Bundle A should be restarted. If I install Bundle B after bundle A, and Bundle 
B depends on Bundle A, bundle B is restarted?


2014-04-16 10:39 GMT+02:00 CLEMENT Jean-Philippe 
<[email protected]<mailto:[email protected]>>:
Hi Adrián,

I'm not too sure if it is related but from your blueprint samples ServiceBImpl 
might refer to a ServiceA which is not available anymore when Bundle A is 
restarted. Could it be the case?

Regards,
JP

[@@ OPEN @@]

De : Adrián Roselló Rey 
[mailto:[email protected]<mailto:[email protected]>]
Envoyé : mercredi 16 avril 2014 10:26
À : [email protected]<mailto:[email protected]>
Objet : ServiceUnavailableException

Hi all,
I have an OSGI application in which I use Aries Bluepint to publish my 
services. My scenario consists of two bundles: bundle A publishes serviceA and 
bundleB publish serviceB, in which serviceA is injected:
Bundle A / blueprint.xml

<bean id="serviceA" class="blabla.ServiceAImpl"/>
<service ref="serviceA" interface="blabla.ServiceA">
</service>
Bundle B / blueprint.xml

<reference id="serviceA" interface="blabla.ServiceA"/>

<bean id="serviceB" class="blabla.ServiceBImpl">
        <property name="serviceA" ref="serviceA" />
 </bean>
 <service ref="serviceB" interface="blabla.ServiceB">
 </service>

Sometimes, when deploying my application (and also when testing) I get the 
following error:

Caused by: org.osgi.service.blueprint.container.ServiceUnavailableException: 
The Blueprint container is being or has been destroyed: 
(objectClass=blabla.ServiceA)
    at 
org.apache.aries.blueprint.container.ReferenceRecipe.getService(ReferenceRecipe.java:240)
    at 
org.apache.aries.blueprint.container.ReferenceRecipe.access$000(ReferenceRecipe.java:55)
    at 
org.apache.aries.blueprint.container.ReferenceRecipe$ServiceDispatcher.call(ReferenceRecipe.java:298)
    at Proxy1e317e77_0693_41e9_8bcb_60a2dbe3386c.getName(Unknown Source)
    at blabla.ServiceBImpl.getServiceA(ServiceBImpl.java:99)
    ... 47 more
Any idea on what could be happening?

Thanks!
Best regards,

--
[http://www.i2cat.net/sites/all/themes/elegantica/logo.png]
Adrián Roselló Rey
Distributed Applications and Networks Area (DANA)
i2CAT Foundation, Barcelona, Spain
T: +34 93 553 25 49<tel:%2B34%2093%20553%2025%2049>
http://dana.i2cat.net



--
[http://www.i2cat.net/sites/all/themes/elegantica/logo.png]
Adrián Roselló Rey
Distributed Applications and Networks Area (DANA)
i2CAT Foundation, Barcelona, Spain
T: +34 93 553 25 49
http://dana.i2cat.net

Reply via email to