On 2/12/07, Steven E. Harris <[EMAIL PROTECTED]> wrote:

Felix Meschberger <[EMAIL PROTECTED]> writes:

> Actually, the bundle set descriptor is a bundle itself, which has a
> special manifest header naming other bundles (or resources in OBR
> speak) to be managed. The reference is by bundle symbolic name and a
> version range.

This is interesting. The "set bundle" refers to the other bundles not
in the abstract (by exported packages), but as concrete references to
symbolic name and version. It sounds kind of like the Require-Bundle
header. Is there a reason why you don't use Require-Bundle, other than
it not having been implemented in Felix until recently?


The "Set Bundle" is - conceptually - not the same as the Require-Bundle
thing. Require-Bundle to me is more like another way of expressing real code
dependency (which IMHO is better done through Import-Package...). The bundle
list of a "Set Bundle" is more like installation instructions targeted at a
management agent (bundle).

Unlike Require-Bundle not only the symbolic names and versions of the bundle
to install but also the start level and whether the installed bundles are to
be started/stopped when the "Set Bundle" is started/stopped may be specified
and whether the bundles to install are contained as entries in the "Set
Bundle" itself is declared in the "Set Bundle". This goes beyond the
functionality of Require-Bundle.

Does the "set bundle" start all its related bundles when it itself is
told to start, and stop all the others when it stops?


Yes, and  the bundles contained in the "Set Bundle" are uninstalled when the
"Set Bundle" is uninstalled. This, however, may be controlled with a flag in
the "Set Bundle" to prevent this "locking into the Set Bundle lifecycle".

Do you deploy this "set bundle" through OBR? If so, it sounds like the
"set bundle's" bundle associations aren't known to OSGi (being
specified by this special header you mention above), so how do the
associated bundles get discovered through OBR? Or does the "set
bundle" itself use OBR to deploy all its associated bundles?


Yes, as the "Set Bundle" is a normal bundle. And yes, the depdencies are not
known to OBR, as these are not declared in the "Set Bundle". Instead, the
management agent recognizes the installation of the "Set Bundle" and handles
the next steps accordingly, including getting the bundles referred to by the
"Set Bundle" and their dependencies from the OBR. It is more like a two-step
process.

BTW: We call these "Set Bundles" "Assembly Bundles" or "Assembly" for short
- lacking a better name :-) [ On the other hand "Bundle Set" does not sound
too bad ]

Regards
Felix

Reply via email to