You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2009/01/19 08:04:59 UTC

[jira] Created: (FELIX-887) Ensure BundleListeners are not forgotten about

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


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.


[jira] Updated: (FELIX-887) Ensure BundleListeners are not forgotten about

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ 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.


[jira] Commented: (FELIX-887) Ensure BundleListeners are not forgotten about

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12666085#action_12666085 ] 

Felix Meschberger commented on FELIX-887:
-----------------------------------------

Applied the last patch FELIX-884-4.patch with two modifications in Rev. 736585 as described in [1]

I deployed SNAPSHOT version 1.3.0-20090122.082408-2 containing these fixes.

[1] https://issues.apache.org/jira/browse/FELIX-884?focusedCommentId=12666084#action_12666084

> 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
>
> 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.


[jira] Resolved: (FELIX-887) Ensure BundleListeners are not forgotten about

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger resolved FELIX-887.
-------------------------------------

    Resolution: Fixed

Resolving for now, waiting for feedback on FELIX-884

> 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
>
> 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.


[jira] Updated: (FELIX-887) Ensure BundleListeners are not forgotten about

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger updated FELIX-887:
------------------------------------

    Attachment:     (was: FELIX-887.patch)

> 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
>
> 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.


[jira] Updated: (FELIX-887) Ensure BundleListeners are not forgotten about

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger updated FELIX-887:
------------------------------------

    Affects Version/s:     (was: bundlerepository-1.2.0)
                       bundlerepository-1.2.1
        Fix Version/s: bundlerepository-1.3.0
             Assignee: Felix Meschberger

Fix versions and assign to me

> 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.1
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: bundlerepository-1.3.0
>
>
> 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.