Hi Tom,
 
Thanks for the reply.. makes sense
I was just a bit confused by the statement - 'if an exported package of
the bundle it references has been updated or removed' by
refreshPackages() - along with some differences I have noticed between
felix and equinox.
 
Thanks,
Alan

________________________________

From: [email protected]
[mailto:[email protected]] On Behalf Of Thomas Watson
Sent: 04 December 2009 13:16
To: OSGi Developer Mail List
Subject: Re: [osgi-dev] RequiredBundle clarification - PackageAdmin spec



The RequiredBundle#getRequiringBundles() is only intended to return the
bundles wired through Require-Bundle constraints. A RequiredBundle
object is removal pending as soon as the bundle content it represents
has been updated or uninstalled. The same rule for removal pending
applies to ExportedPackage objects. As soon as the bundle content which
exports the package has been updated or uninstalled then the
ExportedPackage becomes stale. This is related to the class loader which
loads the bundle content. If this class loader becomes marked for
removal because of an update or uninstall then all exported packages
available for load from that bundle class loader must become stale as
well as the RequiredBundle object.

Hope that helps.

Tom



 "Alan Keane" ---12/04/2009 04:09:26 AM---Hi, Apologies if this is
clearly stated somewhere but I couldn't find an explicit statement in
the spec..


 
From:    
"Alan Keane" <[email protected]>  

To:      
<[email protected]>        

Date:    
12/04/2009 04:09 AM     

Subject:         
[osgi-dev] RequiredBundle clarification - PackageAdmin spec     
________________________________




Hi, 

Apologies if this is clearly stated somewhere but I couldn't find an
explicit statement in the spec.. 
I just want to clarify something in relation to the
RequiredBundle#getRequiringBundles() method. Should this method return
all bundles that 

are currently wired to the underlying bundle as a result of both
Require-Bundle and explicit Import-Package statements? 

>From the spec: 
"The information about a required bundle provided by this object may 
change. A RequiredBundle object becomes stale if an exported package of 
the bundle it references has been updated or removed as a result of
calling 
PackageAdmin.refreshPackages()). If this object becomes stale, its
getSymbolicName() 
and getVersion() methods continue to return their original values, 
isRemovalPending() returns true, and getBundle() and 
getRequiringBundles() return null." 

To me, this implies that wiring as a result of explicit Import-Package
statements should also be considered.  
If not, then should the RequiredBundle object only become stale when the
bundle it represents no longer exports any packages..  

As long as it continues to export 1+ packages then any bundle previously
wired as a result of Require-Bundle would remain a valid requiring
bundle. 

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

<<graycol.gif>>

<<ecblank.gif>>

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

Reply via email to