Yes. It removes control. Activation is a "substate" of being started. 
Someone must decide to start a bundle before it can be activated lazily or 
eagerly.

Class loading is available once resolved. A started bundle marked for lazy 
activation can defer actual activation until first class load. But lazy 
activation is really an attempt to solve some performance issues. It is 
better to avoid lazy activation until there is a demonstrated performance 
issue that lazy activation can be demonstrated to improve.

-- 

BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
[email protected]

office: +1 386 848 1781
mobile: +1 386 848 3788





From:   "Guillaume Sauthier (OW2)" <[email protected]>
To:     OSGi Developer Mail List <[email protected]>, 
Date:   2012/01/11 12:40
Subject:        Re: [osgi-dev] Re: Bundle ActivationPolicy question
Sent by:        [email protected]



Is there any reason to not move your RESOLVED lazy Bundle into STARTING 
state automatically when a class loading request happen ?

Or starting a Bundle is ALWAYS a "manual" operation ? I mean do we want 
someone to take the decision to start a Bundle ?

--G

2012/1/11 Richard S. Hall <[email protected]>
On 1/11/12 11:24 , Guillaume Sauthier (OW2) wrote: 
With Felix, we experienced that the Bundle triggering the class load can 
use the class loaded from the lazy Bundle, but the lazy Bundle was not 
activated after the class was loaded...

A bundle will only ever be activated if it has already been started. This 
is true for lazy and non-lazy bundles. The only difference is that lazy 
bundle activation is deferred until the first class load, while non-lazy 
is immediate.

In other words, if you haven't started your lazy bundles, don't expect 
them to get lazily activated.

-> richard


--G

2012/1/11 Guillaume Sauthier (OW2) <[email protected]>
Hi all 

What happen when a Bundle with Bundle-ActivationPolicy: lazy in its 
Manifest is being used while in the RESOLVED state ?
In other words, the Bundle has not yet been started with 
Bundle.start(START_LAZY_ACTIVATION), but another Bundle is being activated 
and is using a class from the lazy Bundle.

The examples I found on the OSGi web site are only explaining behaviors 
when the lazy bundle is activated because of a Bundle.loadClass() while in 
STARTING state.

Thanks
--G



_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to