[osgi-dev] Bundle location as a "primary key", and Bundle.update()

BJ Hargrave hargrave at us.ibm.com
Wed Apr 11 19:21:22 EDT 2007


1) location is the primary key of a bundle within a framework instance. 
Each installed bundle must have a unique location. The location is 
supplied by the management agent installing the bundle. That is, location 
is a locally supplied identity. Location is often a URL from which an 
inputstream can be created to install or update a bundle. In this case, 
location is necessarily a locally  assigned value since it may be a www 
address. Location must not change for an installed bundle. That is 
updating the bundle will never change the location.

2) The (bundle symbolic name,  bundle version) tuple is a secondary key of 
a bundle within a framework instance. Each installed bundle must have a 
unique tuple. The tuple is assigned by the developer of the bundle. That 
is, the tuple is a global identity for the bundle since it does not matter 
from where the bundle is obtained. The tuple value is contained within the 
bundle's manifest and thus the tuple value can change (completely) when 
the bundle is updated. 

There is no correlation between the value of the location and the tuple 
since they are assigned by different entities.

BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
hargrave at us.ibm.com

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



More information about the osgi-dev mailing list