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.