felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall" <he...@ungoverned.org>
Subject Re: Felix: bundle double update with osgi refresh
Date Wed, 10 May 2017 13:55:35 GMT
On 5/10/17 08:16 , Alex Sviridov wrote:
> Hi all
>
> I use Apache Felix 5.4.0 and I have two bundles: bundleA and bundleB. BundleB depends
on bundleA.
>
> I update bundleA and after that run the following code to do osgi refresh:
>
> Bundle systemBundle  = bcx . getBundle ( 0 );
> FrameworkWiring frameworkWiring  = systemBundle . adapt ( FrameworkWiring . class );
> frameworkWiring . refreshBundles ( null );
> (from here http://stackoverflow.com/a/23361835/5057736 )
>
> This code does the following: it stops and starts bundleA and stops and starts bundleB.
>
> But why bundleA? I am asking because in result bundleA is two times updated. Is this
a bug or what?

The first stop/start is when you do the update, the second is when you 
do the refresh. The former is historical, since that is the way update() 
was defined in the first version of the spec (I believe). Later versions 
of the spec where refreshing was introduced didn't change this behavior 
for backward compatibility reasons.

If refresh were there from the beginning, then it would have likely been 
better to have update() simply prepare the updated version and refresh 
enact it.

-> richard

>
> Best regards, Alex


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Mime
View raw message