[
https://issues.apache.org/jira/browse/ARIES-272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12852193#action_12852193
]
Timothy Ward commented on ARIES-272:
------------------------------------
I agree that the BundleTrackerCustomizer code is complicated and could probably
be improved, but I'm not sure that what you're suggesting is possible.
The Composite aware bundle tracker needs access to the BundleContext of the
System bundle inside the Composite, this is what we use to track bundles inside
the Composite. This BundleContext only exists for bundles in the STARTING,
ACTIVE and STOPPING states, which is why we trap the STARTING event to begin
tracking.
I am not certain if there is a specified lifecycle for bundles within a
composite, but I believe that the current behaviour means bundles in the
Composite are only installed once the Composite bundle is STARTED (and has a
BundleContext that can be used to install the isolated bundles. In this case
the Composite aware Tracker that we already have will provide INSTALLED and
RESOLVED events for bundles inside the Composite.
As such I think this item is only a tidy up, and not a feature enhancement
> BundleTrackerCustomizers will not recurse on bundles added to a
> CompositeBundle before the composite bundle is started
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: ARIES-272
> URL: https://issues.apache.org/jira/browse/ARIES-272
> Project: Aries
> Issue Type: Improvement
> Reporter: Holly Cummins
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> At the moment the AbstractBundleTrackerCustomizer and its descendents trap
> Bundle.STARTING events. If the originator is a composite bundle they add
> themselves as a tracker to the composite bundle's context so that they are
> notified of bundle events in the child framework. This model assumes that the
> child bundles are added to the composite bundle *after* it is started. It
> would be better to trap Bundle.INSTALLED events, since child bundles can be
> added any time after the composite bundle is installed. For example, if the
> composite bundle has exports, its children have to be added *before* it is
> started so that it can satisfy the exports.
> There is also quite a lot of redunant and duplicate code in the area of the
> bundle tracker customizers which should be cleaned up.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.