felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger (JIRA)" <j...@apache.org>
Subject [jira] Updated: (FELIX-887) Ensure BundleListeners are not forgotten about
Date Mon, 19 Jan 2009 07:51:59 GMT

     [ https://issues.apache.org/jira/browse/FELIX-887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Felix Meschberger updated FELIX-887:

    Attachment: FELIX-887.patch

Proposed patch to enhance support for bundle and service events:

  * LocalRepositoryImpl is maintained by RepositoryAdminImpl
  * LocalRepositoryImpl reacts to bundle and service events and
       updates the last modified timestamp and resource list
  * ResolverImpl uses LocalRepositoryImpl last modified to check for any
       modifications between resolve() and deploy()

There is one catch: Service event reaction might be rather expensive, since on every service
registration or unregistration the owning bundle is removed and added again, which might be
a reather big overkill; especially when using declarative services, where the components and
hence services are only registered when the bundle is already active.

A better solution might be to allow the removal of a capatbility from a bundle resource.

> Ensure BundleListeners are not forgotten about
> ----------------------------------------------
>                 Key: FELIX-887
>                 URL: https://issues.apache.org/jira/browse/FELIX-887
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>    Affects Versions: bundlerepository-1.2.0
>            Reporter: Felix Meschberger
>         Attachments: FELIX-887.patch
> As discussed in FELIX-884, the LocalRepositoryImpl class registers a BundleListener,
which is only unregistered if the resovle() method of the owning ResovlerImpl is called. But
this just creates anothter BundleListener. If multiple ResolverImpl instances are created,
the system will fill up with  BundleListener instances, which will never be used again and
only be cleaned up, when the OBR bundle is stopped.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message